2013-01-14 233 views
0

我有一個名爲Show.phphtaccess的:刪除擴展名爲.php

我想刪除.PHP的這種擴展文件,如果有人要求/Show.php,重定向他沒有PHP擴展頁。

這是我的htaccess,但它沒有將用戶重定向到沒有擴展頁面。

RewriteCond %{REQUEST_URI} ^Show\.php$ 
RewriteRule ^Show\.php$ ./Show [R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^Show$ ./Show.php [L] 

回答

1

REQUEST_URI,不像RewriteRule表達,一開始就領先/^Show你的表情開始。只需添加主要的斜槓就可以完成這項工作。其他一切看起來都正確

RewriteCond %{REQUEST_URI} ^/Show\.php$ 
#-------------------------^^^^^ 
RewriteRule ^Show\.php$ Show [R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
#Rewrite to Show.php rather than ./Show.php 
RewriteRule ^Show$ Show.php [L] 
+0

它沒有工作。 /Show.php不會重定向到/ Show。我確定我的第一個RewriteCond是錯誤的。但我不知道如何解決它。 – HosseiN

+0

@HosseiN請求是否也有查詢字符串爲'/Show.php?thing = 123'?如果是這樣,RewriteCond不應該有一個'''錨點 –