2015-09-28 129 views
1

我試圖修改我的網站URL以獲得更好的SEO。這是我到目前爲止有:htaccess重寫url匹配子域名

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

回答

3

您可以爲/category/另一條規則:

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

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

You e ven 將這兩個規則合併成一個與此正則表達式。

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

「類別」 只是一個例子,也可以是另一個字符串(我有50個類別) – libertaire

+0

你可以使用:'RewriteRule ^([\ w - ] +)/ page - (\ d +)/?$ $ 1/index.php?p = $ 1 [L,QSA,NC]'作爲第一條規則。 – anubhava

+0

我遇到了類似這樣的URL的問題http://mysubdomain.domain.com/category/page-2 – libertaire

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]