我有两个网站,
这两个网站都包含很少的页面,而wordpress博客,请按照结构
www.firstwebsite.com
-Root
-index.html
-about.html
-Blog
-blog page1
-blog page2
www.secondwebsite.com
-Root
-index.html
-about.html
-Blog
-blog page1
-blog page2
现在,我想使用htaccess 301重定向将www.firstwebsite.com的所有博客页面(即博客文件夹下的页面)重定向到www.secondwebsite.com/blog。
我知道我可以像
那样重定向Redirect 301 /a.html www.secondwebsite.com/blog
Redirect 302 /b.html www.secondwebsite.com/blog
但是如果有任何简单的方法,那么我可以通过在.htaccess文件中只写一行来重定向所有页面,因为所有页面的目的地是相同的
答案 0 :(得分:1)
为此
使用RewriteRule
RewriteEngine On
# If the hostname for this request matches www.firstwebsite.com...
RewriteCond %{HTTP_HOST} ^www\.firstwebsite\.com$ [NC]
# Redirect all requests in Blog/ to the equivalent on www.secondwebsite.com
RewriteRule Blog/(.*) http://www.secondwebsite.com/Blog/$1 [L,R=301,QSA]
RewriteCond
是请求主机名的条件匹配。如上所述,我们仅将重写应用于匹配www.firstwebsite.com
的请求。最后的[NC]
使其不区分大小写。
RewriteRule
使用表达式Blog/(.*)
来匹配对Blog目录的所有请求,捕获匹配组中/
之后的所有内容。然后,使用请求www.secondwebsite.com/Blog
中的匹配(.*)
将请求重写为$1
,因此整个请求在www.secondwebsite.com
中完全相同。