5

几周前我已经开始了一个话题。但是我现在遇到了一个与旧问题非常相似的新问题:.htaccess 用问号“?”重写 URL。

我的目标是这个网址:

/mysite/component/users/?view=registration

改写成这个新的 URL:

mysite/registration.html

我目前.htaccess得到了这个代码:

RewriteBase /mysite

RewriteCond %{QUERY_STRING} ^view=(.*)$
RewriteRule ^component/users/?$ %1.html? [R=301,L]

它工作得很好。

但后来我注意到这个配置涉及所有像这样开头的 URL:

/mysite/component/users/?view=

例如,此配置还涉及这样的 URL:

/mysite/component/users/?view=remind

这是我不想要的

我只想重写这个 URL:

localhost/mysite/component/users/?view=registration
4

1 回答 1

5
RewriteBase /mysite

RewriteCond %{QUERY_STRING} ^view=(registration)$ [NC]
RewriteRule ^component/users/$ %1.html? [R=301,L]

如果您希望它仅适用于registration那么您可以指定它而不是一个包罗万象的正则表达式。

另请记住,由于您使用全局永久重定向,您可能需要清除浏览器缓存或使用其他浏览器来立即查看更改。

于 2013-09-19T00:11:41.660 回答