1
我使用PHP。htaccess - URL重寫 - 刪除斜槓,但不是從文件
一個工作htaccess的文件
RewriteEngine On
RewriteBase /folder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule .*[^/]$ $0/ [L,R=301]
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php/$1 [L]
看用#註釋行。取消註釋時,它會將重定向添加到斜線。我使用URL重寫toroPHP。
我想重寫結束斜線
- 我想重定向到從重寫網址結尾斜槓,就像上面的代碼。
- 我不想從真正的文件結束斜線,如jquery.js,style.css。
實施例(更新2012年12月21日)
/category/test
應/category/test/
http://www.test.com/myjsfile.js
應http://www.test.com/myjsfile.js
問題
- 如果我使用上面的代碼未註釋,它會爲所有網址添加結尾斜槓,包括javascript文件和css文件。
- 我只希望重寫的網址以斜槓結尾。
問題
可以將其與htaccess的做什麼?如果是這樣如何?
所以,你要重定向'/不/真正/ path'到'/不/真正/路徑請求/'**和**你想有尾隨斜槓在真實的文件,如腳本和樣式?你的第二個子彈很混亂。你「不想從真實文件中刪除結尾斜槓」?我沒有看到任何增加斜線的地方。此外,我嘗試了這些規則,並沒有看到添加到我的腳本和css文件中的尾部斜線。僅適用於實際不存在的URI。 –
是的你是對的。第二個項目符號不正確。我已經糾正它,甚至添加了一個例子。 –
就像我剛纔提到的那樣,我取消了註釋,它適用於我。真正的文件不會受到影響,因爲上面的兩個條件都說「僅適用規則** **如果請求是**不是**真實文件或目錄」。我想你可以嘗試將它改爲'RewriteRule ^(。* [^ /])$/$ 1/[L,R = 301]'(我過去曾經用過),但這基本上是一樣的 –