删除尾部斜杠并使用.htaccess创建查询字符串

时间:2014-09-03 13:13:08

标签: regex apache .htaccess mod-rewrite

在我的.htaccess文件中,我想从URL中删除尾部斜杠,而不修改查询字符串的当前设置。

我以两步的方式尝试了这一点,但它并没有像我期望的那样工作:

# Remove trailing slash
RewriteRule ^(.+)/$ $1 [R=301]
# Create query string from canonical URL
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

干杯

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteEngine On
RewriteBase /site/dev/

## Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/$ $1 [R=302,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]