我试图让我的指令忽略URL中的结束正斜杠,即使它在那里。
RewriteCond %{REQUEST_URI} ^/category1/category2/category3/$ [NC]
RewriteCond %{QUERY_STRING} ^recipient=For\+Boys(.*)$ [NC]
RewriteRule ^(.*)$ /newcategory/for-boys/? [NC,L,R=301]
所以起始网址如:
http://www.foo.com/category1/category2/category3/?recipient=For+Boys
重定向到
http://www.foo.com/newcategory/for-boys/
但是,当起始网址为:
时,我的问题就出现了http://www.foo.com/category1/category2/category3?recipient=For+Boys
请注意category3?recipient=For+Boys
如果存在或不存在结束正斜杠,我应该在第一个RewriteCond
中放置哪个重定向?
答案 0 :(得分:1)
知道了:
.htaccess regular expression need to make trailing forward slash optional
刚刚放/?在你的模式结尾的$之前:
所以我的第一个RewriteCond是
RewriteCond %{REQUEST_URI} ^/category1/category2/category3/?$ [NC]