我試圖使用.htaccess重寫URL並從URL中刪除擴展名.htm,.php和.html,並強制重定向, : http://mydomain.com/example.php會重定向到http://mydomain.com/example http://mydomain.com/example-two.html會重定向到http://mydomain.com/example-two http://mydomain.com/example也將沒有任何問題的工作 http://mydomain.com/example-two.txt(用於刷新一些通過AJAX的內容)將被重定向到http://mydomain.com/example-two隱藏文件擴展名並強制使用.htaccess強制重定向到無擴展名的網址
嘗試和努力後到處閱讀,th Ë最近我去了這一點:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([a-zA-Z/-]+)\.(htm|html|php)$ http://mydomain.com/$1 [R=301]
但它仍然給了我一個300 Multilple選擇的消息,也當沒有多項選擇(的index.html)
我也想嘗試第一次檢查在服務器上的文件的存在,之前重命名文件,並在文件丟失的情況下,提供的自定義錯誤頁,但我嘗試這樣做,它只是沒有工作:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}\.php -f [OR]
RewriteCond %{REQUEST_FILENAME}\.htm(l)? -f
RewriteRule ^([a-zA-Z/-]+)\.(html|php)$ http://mydomain.com/$1 [R=301]
ErrorDocument 404 /error.htm
非常感謝您提前任何幫助/建議
編輯: 它可能來自服務器設置(我有網站託管在「虛擬主機」網站)?
我剛剛嘗試過,但沒有重定向,因此當我訪問http://mydomain.com/example.php或http://mydomain.com/example-two.html時,URL保持不變重定向,當我嘗試http://mydomain.com/example我得到300多選擇消息(即使只有在服務器上的example.php文件) – 2012-02-05 20:39:27
我不認爲我理解你的問題。哪些文件實際存在以及應該以什麼名稱引用? – nachito 2012-02-05 20:41:39
example.php和example-two.html和example.txt存在於服務器上,我希望htaccess隱藏擴展名,以便用戶不知道哪個文件是.html,.php或.txt文件 – 2012-02-05 20:43:45