htaccess重写url匹配子域名

时间:2015-09-28 05:54:48

标签: apache .htaccess mod-rewrite url-rewriting

我试图修改我的网站网址以获得更好的搜索引擎优化。这是我到目前为止所拥有的:

 RewriteRule ^page-([0-9]+)/?$ /index.php?p=$1 [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

2 个答案:

答案 0 :(得分:3)

您可以使用/category/的其他规则:

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

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

您甚至将两个规则合并为此正则表达式。

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

答案 1 :(得分:0)

更改 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=$1-$2 [NC]