好吧,我已經足夠搜索,發現了足夠的博客和足夠的線程在這個主題上,但沒有任何解決方案爲我工作。Apache .htaccess刪除尾部斜線
我已創建的文件夾,所以他們通過URL訪問是這樣的:
所有我想要做的是,讓他們通過這些訪問:
所以基本上,刪除尾部的斜線。
好吧,我已經足夠搜索,發現了足夠的博客和足夠的線程在這個主題上,但沒有任何解決方案爲我工作。Apache .htaccess刪除尾部斜線
我已創建的文件夾,所以他們通過URL訪問是這樣的:
所有我想要做的是,讓他們通過這些訪問:
所以基本上,刪除尾部的斜線。
您可以使用以下重寫刪除結尾斜線。
# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]
您將需要啓用mod_rewrite。這可以放在.htaccess文件或apache配置中。
不,沒有運氣!順便說一句,我的.htaccess在/home/user/www/mysite.com/.htaccess而folder1是/home/user/www/mysite.com/folder1(與folder2相同) – user1437328
使用重定向標誌'[R]'你有提供完整的url(http ...) –
你可以確認是否在服務器上啓用了mod_rewrite嗎?你可以在服務器上運行PHP嗎?如果是這樣你可以按照這些說明http://serverfault.com/questions/397168/how -I-test-if-mod-rewrite-is-enabled – pxg
確保你有關閉 a DirectorySlash Directive你在Apache配置。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST}:%{SERVER_PORT}s ^(.*):(443(s)|\d+s)$
RewriteRule ^/?(.*)/$ http%3://%1/$1 [R=301,L,QSA]
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !(?:^|;\s*)redirect=301
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST}:%{SERVER_PORT}s ^(.*):(443(s)|\d+s)$
RewriteRule ^/?(.*)/$ http%3://%1/$1 [R=301,L,QSA,CO=redirect:301:%1:0:/]
獲取瀏覽器錯誤 - 「此網頁有重定向循環」 – user1437328
@ user1437328 - 如果您確定在Apache配置中關閉了目錄斜槓,則大多數很可能你的瀏覽器會自動添加一個斜槓(這不應該!)我已經使用cookie更新了我的答案「循環預防機制」,所以重定向不應該跳入循環... –
你絕對沒有尋找它... – shkschneider