2012-11-27 157 views
-1

好吧,我已经足够搜索,发现了足够的博客和足够的线程在这个主题上,但没有任何解决方案为我工作。Apache .htaccess删除尾部斜线

我已创建的文件夹,所以他们通过URL访问是这样的:

所有我想要做的是,让他们通过这些访问:

所以基本上,删除尾部的斜线。

+1

你绝对没有寻找它... – shkschneider

回答

-1

您可以使用以下重写删除结尾斜线。

# remove trailing slashes 
RewriteRule (.*)/$ $1 [L,R=301] 

您将需要启用mod_rewrite。这可以放在.htaccess文件或apache配置中。

+0

不,没有运气!顺便说一句,我的.htaccess在/home/user/www/mysite.com/.htaccess而folder1是/home/user/www/mysite.com/folder1(与folder2相同) – user1437328

+0

使用重定向标志'[R]'你有提供完整的url(http ...) –

+0

你可以确认是否在服务器上启用了mod_rewrite吗?你可以在服务器上运行PHP吗?如果是这样你可以按照这些说明http://serverfault.com/questions/397168/how -I-test-if-mod-rewrite-is-enabled – pxg

1

确保你有关闭 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:/] 
+0

获取浏览器错误 - “此网页有重定向循环” – user1437328

+0

@ user1437328 - 如果您确定在Apache配置中关闭了目录斜杠,则大多数很可能你的浏览器会自动添加一个斜杠(这不应该!)我已经使用cookie更新了我的答案“循环预防机制”,所以重定向不应该跳入循环... –