2014-06-08 117 views
0

我正努力從主目錄和所有子目錄中刪除.php,但它不起作用。我使用了下面的代碼。 如果我仍然使用/test.php在地址目錄中輸入文件,我怎麼能重定向到/ test。 下面沒有任何工作。也是在public_html文件夾或根上的htaccess文件?從網址中刪除.php後綴

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on RewriteEngine On RewriteBase/

## hide .php extension snippet 

# To externally redirect /dir/foo.php to /dir/foo 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R,L] 

# To internally forward /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*?)/?$ $1.php [L] 

但是在我的子目錄中,我有像下面這樣的mysql鏈接的htaccess,它的工作原理。

RewriteEngine On 
RewriteRule ^test\/([0-9]+)$ test.php?id=$1 
+0

使用'%{REQUEST_URI}'而不是'%{THE_REQUEST}' – hakre

+0

'public_html'應該是root嗎?另外爲什麼你有兩個不同的.htaccess?你真的需要子目錄中的.htaccess嗎? – anubhava

回答

0

有關在何處放置.htaccess文件你的問題,你會發現這裏概述:

隨着重點現代重寫,有.htaccess文件的位置和你使用URL重寫與現代重寫的條件和規則之間的關係。這是由

控制。然而在你的榜樣它更簡單:使用%{REQUEST_URI}代替%{THE_REQUEST}。解析(檢查)更容易查詢字符串與它分離。