我想设置方案,如果有人访问 website.com/blog / ,他们会被重定向到 blog.website.com 。
我在.htaccess文件中使用此代码来实现其他一些重定向(从.net到.com):
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC]
RewriteRule (.*) http://www.website.com/$1 [R=301,L]
我的apache配置文件中有 ErrorDocument 404 也可能是相关的。
为了解决我的问题,我尝试了这个:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC]
RewriteRule (.*) http://www.website.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www.)?website(.com|.net)/blog/?$ [NC]
RewriteRule (.*) http://blog.website.com/ [L]
但此代码无效。我的错误文档仍在处理请求(/ blog /目录不存在)。我尝试将这个新代码移到apache conf文件中的ErrorDocument之上,但同样的事情发生了。
毫无疑问这是一个语法错误,任何帮助都会非常感激:)
答案 0 :(得分:9)
在website.com目录的根目录中的.htaccess文件中
RewriteEngine on
RewriteBase /
RedirectMatch 301 ^/blog/(.*)$ http://blog.website.com/$1
答案 1 :(得分:6)
尝试将以下内容添加到.htaccess
网站根目录中的webiste.com
文件中。
RewriteEngine on
RewriteBase /
#if not already blog.website.com
RewriteCond %{HTTP_HOST} !^blog\.website\.com$ [NC]
#if request is for blog/, go to blog.website.com
RewriteRule ^blog/$ http://blog.website.com [L,NC,R=301]