.htaccess重写子域上特定页面的条件

时间:2012-12-12 08:32:13

标签: apache .htaccess mod-rewrite

我不知道如何做到这一点,到目前为止在SO上找不到合适的问题/答案(可能是因为我不知道该找什么,所以链接到相关的问题就好了)。我想要的是将子域上特定页面的URL重定向到主域上的其他特定页面。它应该像这样工作。

每当param。 “类别”在URL中: http://blog.website.com/category/categorynamehttp://www.website.com/categorie/categoryname (注意类别和类别之间的区别)

当“类别”不在URL中时 http://blog.website.com/post-namehttp://www.website.com/posts/post-name

如何构建这些重写?

2 个答案:

答案 0 :(得分:1)

以下RewriteRules应该可以解决问题。

RewriteEngine On
RewriteRule ^/category/(.*)$ http://www.website.com/categorie/$1 [L]
RewriteRule ^/(.*)$ http://www.website.com/posts/$1 [L]

答案 1 :(得分:0)

这些具体规则使其有效:

RewriteCond %{HTTP_HOST} ^blog\.website\.com$ [NC]
RewriteRule ^category/(.*)$ http://www.website.com/posts/categorie/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^blog\.website\.com$ [NC]
RewriteRule ^(.*) http://www.website.com/posts/$1 [L,R=301]