.htaccess重定向到子域

use*_*981 10 apache .htaccess redirect

我想要设置方案,如果有人访问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]
Run Code Online (Sandbox Code Playgroud)

我的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]
Run Code Online (Sandbox Code Playgroud)

但是这段代码不起作用.我的错误文档仍在处理请求(/ blog /目录不存在).我尝试将这个新代码移到apache conf文件中的ErrorDocument之上,但同样的事情发生了.

这无疑是一个语法错误,任何帮助将不胜感激:)

Mar*_*tin 9

在website.com目录的根目录中的.htaccess文件中

RewriteEngine on
RewriteBase / 

RedirectMatch 301 ^/blog/(.*)$ http://blog.website.com/$1
Run Code Online (Sandbox Code Playgroud)


Ulr*_*lha 5

尝试将以下内容添加到站点.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] 
Run Code Online (Sandbox Code Playgroud)