我期待在我的.htaccess文件來設置規則,以便以.php擴展名的文件都可以通過只用一個斜線替換擴展訪問(/foo/bar/
將靜默加載/foo/bar.php
)。以前,我發現this,這是我正在尋找的一種,除了它只改變/foo/bar.php
到/foo/bar
(注意沒有結束斜線)。的.htaccess重寫/富/酒吧/到/foo/bar.php
對於htaccess,我幾乎是一個完全新手,用上面鏈接的代碼調整大約30分鐘後,沒有產生大量的500 internal server error
s。我相信這是一個很簡單的解決方案,但Google和試驗和錯誤都沒有給我帶來任何結果。
任何人都可以看看上述文章中的代碼(複製如下)並將其更改爲/foo/bar/
將重寫爲/foo/bar.php
?
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule^%{REQUEST_URI}.php [L]
非常感謝!
這只是'404 Not Found'錯誤到處都是。 – Charles
對不起,''RewriteRule ^(。*)\。php $/$ 1 /'產生相同的結果。仍然只在每個頁面上顯示404 Not Found。 – Charles
你太快了......當我編輯第二個選項時,你測試了它。 :-)但是,爲了確保你明白,你要求的是將'/ foo/bar.php'重寫爲'/ foo/bar /'。這並不意味着你只是隱藏了用戶的「.php」部分,這意味着Apache實際上會嘗試加載'/ foo/bar /'。如果你真的想運行bar.php腳本,但用戶只看到bar /,那是另一個問題。 –