2014-09-03 41 views
1

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

我想这两步的方式,但它不工作,我想到:

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

干杯

+0

什么是不工作?你能更明确吗? – 2014-09-03 13:15:44

+0

除了删除尾部斜线并发送查询字符串外,结果请求(和页面)为空。 – reekogi 2014-09-03 13:35:53

回答

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] 
+0

干杯。我认为我可以在RewriteBase(/ site/dev /)的子目录(例如,localhost/site/dev /)中本地使用它 - 但它似乎没有影响规则。为我noobery道歉。 – reekogi 2014-09-03 13:30:20

+0

好的尝试'/ site/dev/.htaccess'中的更新代码 – anubhava 2014-09-03 13:45:35

+0

完美,谢谢。 – reekogi 2014-09-03 14:12:51

相关问题