我想.php在訪問我的網頁時使用以下腳本洗掉擴展名。但是,這會阻止我index.php通過簡單地轉到主網站 URL來訪問該網站的 。
如何解決此問題,以便.php洗掉兩個擴展程式,并且index.php只需輸入網站名稱即可訪問?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.] )$ $1.php [NC,L]
uj5u.com熱心網友回復:
這是@DerLola 在他的回答中發布的內容的略微修改版本,該版本通常是正確的,但包含一些疏忽。不幸的是,他沒有回應我指出這個問題,這就是為什么我現在決定發布這個變體。所有的功勞都屬于他,顯然!
RewriteEngine On
RewriteRule ^/?$ - [END]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]
這假設您的設定已經在index.php請求基本 URL 時注意執行。這可能通過DirectoryIndex指令或由您的應用程式邏輯實作的一些其他重寫規則發生。
uj5u.com熱心網友回復:
您可以在當前規則之上添加一個新規則來檢查空路徑(根)并將其重寫到 index.php,如下所示:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^$ index.php [NC]
RewriteRule ^([^\.] )$ $1.php [NC,L]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/403872.html
標籤:
上一篇:在.htaccess中使用別名
