htaccess 重写 url 匹配子域

htaccess rewrite url match subdomains

我正在尝试修改我的网站 URL 以获得更好的 SEO。这是我目前所拥有的:

 RewriteRule ^page-([0-9]+)/?$ /index.php?p= [L,QSA,NC]

我要http://www.domain.com/page-10 而不是 http://www.domain.com/index.php?p=10

但我如何匹配 http://www.domain.com/category/index.php?p=2 并将其重写为 http://www.domain.com/category/page-2

您可以为 /category/ 设置另一个规则:

RewriteRule ^(category)/page-(\d+)/?$ /index.php?p= [L,QSA,NC]

RewriteRule ^page-(\d+)/?$ index.php?p= [L,QSA,NC]

您甚至可以使用此正则表达式将两个规则合二为一。

RewriteRule ^(category/)?page-(\d+)/?$ index.php?p= [L,QSA,NC]

改变 http://www.domain.com/category/index.php?p=2http://www.domain.com/category/index.php?p=page-2 并重新编写您的 htaccess 以匹配:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^category/([0-9]+)-([a-z]+)  http://www.domain.com/category/index.php?p=- [NC]