【发布时间】:2012-11-27 19:40:31
【问题描述】:
好的,我已经用谷歌搜索了足够多的东西,找到了足够多的博客和足够多的关于这个主题的 SO 线程,但是这些解决方案都没有对我有用。
我已经创建了文件夹,因此可以通过以下 URL 访问它们:
我想要做的就是通过以下方式访问它们:
所以基本上,删除尾部斜杠。
【问题讨论】:
-
你肯定没搜过...
标签: regex apache .htaccess mod-rewrite apache2
好的,我已经用谷歌搜索了足够多的东西,找到了足够多的博客和足够多的关于这个主题的 SO 线程,但是这些解决方案都没有对我有用。
我已经创建了文件夹,因此可以通过以下 URL 访问它们:
我想要做的就是通过以下方式访问它们:
所以基本上,删除尾部斜杠。
【问题讨论】:
标签: regex apache .htaccess mod-rewrite apache2
确保您在 Apache 配置中关闭DirectorySlash Directive。
罢工>
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:/]
【讨论】:
您可以使用以下重写来删除尾部斜杠。
# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]
您需要启用 mod_rewrite。这可以放在 .htaccess 文件或 apache 配置中。
【讨论】:
[R] 你必须提供完整的 url (http...)