Wordpress Multisite(子域安装)重写规则

时间:2012-10-26 11:38:58

标签: wordpress apache .htaccess url-rewriting rewrite

1)我有一个Wordpress多站点子域安装,网络中有大约100个站点。

网络管理员 - 网站(所有网站)显示如下:

main site: "www.domain-name.com"
all other sites: "subdomain-name.domain-name.com"

还有一个域映射插件,因此它们都可以作为单独的URL访问:

domain-name1.com
domain-name2.com
...
domain-name100.com

2)目前所有博客上的网址都设置为:

domain-name.com/2012/10/26/post-name
domain-name.com/category/category-name

(我以今天的日期为例)

这也是域名在Google和Bing搜索结果中显示的方式

3)我要从网址中删除“2012/10/26 /”和“category /”,所以它们看起来像这样:

domain-name.com/post-name
domain-name.com/category-name

...我需要有一个重写规则,负责将来自serps的人重定向到这些新网址

4)我现在有这样的事情:

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ http://domain.com/$4 [L,R=301]

RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ http://domain.com/$4 [L,R=301]

但我不确定它是否正确/它是否能正常工作,而且我需要为所有100个网站制定规则,而不仅仅是一个。这些版本(仅使用其中一个版本)也不包括“category /”部分。

5)如果有人知道如何做到这一点会很棒(所有网站的一两个重写规则可能是最好的)。

提前感谢您提供任何信息。

1 个答案:

答案 0 :(得分:0)

您可以使用RewriteRule简化\d的正则结构,以匹配数字并仅使用post-name上的匹配组。如果所有域的此行为相同,则可以省略RewriteCondRewriteRule中的域名:

RewriteRule ^\d{4}/\d{2}/\d{2}/(.*)$ $1 [L,R=301]
RewriteRule ^category/(.*)$ $1 [L,R=301]

您可以使用http://htaccess.madewithlove.be/

测试上述规则和生成的网址