2016-12-07 45 views
1

我在我的最高級別的.htaccess以此來消除對我的* .php文件的PHP文件類型的擴展名。刪除PHP文件類型的擴展名

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

但我發現它也阻止我的瀏覽器調用我的子目錄中的index.php頁面。我需要在URL中明確包含/index.php。

有沒有更好的方式來消除對我的* .php文件PHP文件類型的擴展名?

+0

可能的複製[我如何使用的.htaccess隱藏.PHP URL擴展?(HTTP:/ /stackoverflow.com/questions/10028025/how-can-i-use-htaccess-to-hide-php-url-extensions) – Blueblazer172

+0

這是如何阻止規則你使用'domain.com/index.php'網址是什麼? – anubhava

+0

對不起@anubhava我沒有解釋清楚。它可以防止索引頁面加載,如果瀏覽到www.myurl.com/admin/。我必須瀏覽www.myurl.com/admin/index.php才能看到該頁面。 –

回答

1

在這裏你去:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L] 

或嘗試這一個。這也應該在一個子目錄路徑工作:

RewriteEngine on 
RewriteRule ^(.*)$ $1.php 

或在一個if clause

<IfModule mod_rewrite.c> 
    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 
</IfModule>