使用.htaccess 隱藏.php 檔案副檔名:故障排除提示
儘管按照以下說明使用.htaccess 隱藏.php 檔案副檔名,您遇到困難。讓我們調查該問題並提供修改後的解決方案。
您的初始 .htaccess 程式碼嘗試重寫特定「資料夾」目錄中的 URL。但是,它看起來不完整,因為它缺少相應的 RewriteCond 指令。為了解決這個問題,以下修改後的程式碼應該可以工作:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^folder/([a-zA-Z_\-0-9]+)/?$ /folder/.php </IfModule>
RewriteCond 行確保僅當請求的檔案不存在(即,它不是靜態檔案)時才應用規則。
此外,為了正確處理各種情況,請考慮使用更全面的.htaccess 程式碼,如已接受的答案中建議的程式碼:
RewriteEngine On # Unless directory, remove trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ http://example.com/folder/ [R=301,L] # Redirect external .php requests to extensionless URL RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ RewriteRule ^(.+)\.php$ http://example.com/folder/ [R=301,L] # Resolve .php file for extensionless PHP URLs RewriteRule ^([^/.]+)$ .php [L]
此程式碼不僅隱藏了. php 副檔名,也隱藏了.php 副檔名。處理尾部斜線、外部 .php 請求,並在內部解析無副檔名 URL 的 .php 檔案。
請記住,驗證 .htaccess 檔案是否放置在專案的根目錄中,並檢查檔案的權限以確保其可讀網頁伺服器。
以上是為什麼我無法使用 .htaccess 隱藏 .php 檔案副檔名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!