我不太習慣使用htaccess文件,所以我在這一個上苦苦掙扎了一段時間:如何在添加尾部斜線(.htaccess/mod_rewrite)後重寫URL?
我想知道如何將URL(example.com/foo/bar)重寫爲( example.com/index.php?q=/foo/bar)之後增加一個尾部斜槓(301重定向)初始URL:
我知道如何添加單獨結尾的斜線:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://exemple.com/$1/ [L,R=301]
而如何重寫的index.php:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L]
但我只是想不出如何做到既在同一時間...
任何幫助都更受歡迎!
皮埃爾·弗雷斯
只要把兩套行到一個文件中。無需重複'RewriteEngine on'部分。但是我會用'^(。+)$' – Gerben
嗯,這是當然的,我試圖第一件事:)但它不工作... 不過我注意到,把重寫的index.php先進行301重定向轉到index.php?q = XXX,而不是添加尾部斜槓... –
重定向應始終先到位。你能解釋一下什麼是行不通的嗎?我認爲這兩個腳本都在自己的工作?我不明白爲什麼它不起作用。我唯一能想到的是,當$ _GET ['q']以斜槓結尾時,php腳本不喜歡它? – Gerben