我一直在尋找這樣的事情(當然,年)現在年。如果有人能夠最終產生這個代碼,那將會很棒。htaccess的網址轉發到PHP文件有無斜線
此刻,我一直在使用這樣的:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteRule ^(.*)\/$ $1.php [NC]
而且它的偉大工程,但沒有尾隨斜線不起作用。而令人討厭的是它將所有包含的文件視爲一個文件夾,因此我將永遠將../
添加到所有的css和js文件中。
除了上面,它的工作原理是這樣的(按預期):
- 如果www是不存在的,這將讓加
- http://www.example.com/page.php會去page.php文件
- http://www.example.com/page/會到page.php文件
- http://www.example.com/page會拿出一個404錯誤,因爲它是尋找的文件夾
我試過用Google搜索不同的東西,但沒有成功。我所需要做的就是喜歡沒有尾部斜線的網址,無論是將它轉發到尾部斜線還是喜歡它們。整個想法是,它讀取PHP文件,並在窗口作爲一個很好的搜索引擎優化類型的鏈接顯示出來:www.example.com/page
'^(。*)\/$'< - 您的模式指定URL必須以正斜槓結尾! – Corbin 2012-08-12 03:14:08
當我刪除這個,我得到一個內部服務器錯誤 – 2012-08-12 03:14:30
這是因爲'^(。*)$'將匹配所有內容,因此一個無限循環追加'.php'到路徑會一遍又一遍地發生。最簡單的方法是使用'RewriteCond%{REQUEST_FILENAME} -f',這樣只有當路徑不存在時纔會重寫。 – Corbin 2012-08-12 03:16:50