1

我需要更新我的 .htaccess 文件以将所有 URL 永久重定向http://example.com/pages/5604/article/something/?page=299http://example.com/pages/5604/article/. 这是我的实现(遗憾的是它不起作用):

RewriteRule ^pages/(.*)/(.*)/something/\?page=(.*) /pages/$1/$2 [R=301,L]

提前感谢您的帮助和建议!

4

1 回答 1

2

QUERY_STRING不在匹配的 url 中,您必须在RewriteCond. 类似(未经测试):

RewriteCond %{QUERY_STRING} ^page=(.*) 
# Apache >=  2.4
RewriteRule ^pages/(.*)/(.*)/something/ /pages/$1/$2 [R=301,L,QSD]
# Apache <  2.4 
RewriteRule ^pages/(.*)/(.*)/something/ /pages/$1/$2? [R=301,L]

如果您需要page=在 your之后的值RewriteRule,您可以%1按照您使用的相同方式使用$1(匹配RewriteCond's 是%N, in RewriteRule $N

于 2012-06-19T18:33:51.223 回答