2014-02-05 40 views
0

後不能正常工作。管理面板,因爲我已經申請的.htaccess我的文件夾刪除php擴展</p> <p>我的管理面板名稱<em>尼姆達</em>像<code>http://www.xyz.com/nimda</code>工作不適用的htaccess

它顯示此錯誤消息

未找到

請求的URL在此服務器上未找到。

做什麼。

RewriteEngine On 

# Unless directory, remove trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/$ xyz.com/$1 [R=301,L] 

# Redirect external .php requests to extensionless url 
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ 
RewriteRule ^(.+)\.php$ xyz.com/$1 [R=301,L] 

# Resolve .php file for extensionless php urls 
RewriteRule ^([^/.]+)$ $1.php [L] 
+0

**當mod_rewrite出現問題時,請將'RewriteLog'輸出** .......... – DanFromGermany

回答

0

這是因爲你的htaccess規則的最後一部分將它轉換爲一個不存在的文件。

# Resolve .php file for extensionless php urls 
RewriteRule ^([^/.]+)$ $1.php [L] 

這條規則秋毫沒有.php然後將其添加到該文件,以便您的網址鏈接管理員正在寫爲http://www.xyz.com/nimda.php不存在,因此找不到404。

我不知道你打算用你的規則來完成的,但如果你希望你的htaccess這種方式,您可以排除這樣的admin目錄。

RewriteEngine On 

# Unless directory, remove trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/$ /$1 [R=301,L] 

# Redirect external .php requests to extensionless url 
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ 
RewriteRule ^(.+)\.php$ xyz.com/$1 [R=301,L] 

# Resolve .php file for extensionless php urls 
RewriteCond %{REQUEST_URI} !^/nimda [NC] 
RewriteRule ^([^/.]+)$ $1.php [L] 
相關問題