[英].htaccess Remove .php keep regular indexing
我正在使用:
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
這樣可以使我不必在頁面末尾使用“ .php”。 但是,如果我不指定索引,它將給出404。
例:
example.com/content.php被定向到example.com/content
^效果很好。
但是,如果我要轉到example.com/users之類的目錄,則會出現404錯誤。 僅example.com/users/index有效。
我希望能夠以現有方式刪除.php,但是我仍然希望目錄工作而無需指定頁面(自動顯示index.php)。 我不太會使用正則表達式或htaccess編碼,所以我本周無法周到。
任何幫助,將不勝感激。 謝謝!
用以下2條規則替換您的代碼:
RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.