簡體   English   中英

.htaccess-隱藏.php和強制尾部斜杠不起作用

[英].htaccess - hidding .php and forcing trailing slash not working

我試圖在我的網站中隱藏.php擴展名,同時強制使用斜杠,但我一直在搜索最近幾天,但均未成功。

該站點當前正在XAMPP服務器中運行。

這是.htaccess文件:

Options -Indexes -Multiviews +FollowSymlinks

RewriteEngine On
RewriteBase /

#removing .php extension
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/(.+)/$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^(.*)/$ $1.php [L]

#forcing trailing slash
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .*[^/]$ $0/ [L,R=301]

ErrorDocument 404 http://localhost/404/

這些鏈接有效:

localhost/about-us重定向到localhost/about-us/是正確的,但是當我嘗試訪問localhost/about-us.php ,它將重定向到localhost/about-us/而不是localhost/about-us/ (抱歉無法發布鏈接)

如何解決?

您似乎只是不小心使用了絕對路徑。 只需像其他規則一樣刪除/$1/開頭的斜杠即可使其正常工作。

#removing .php extension
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ $1/ [L,R=301]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM