0

我正在将子域(每个子域中都有一个 htaccess)重定向到一个新域,但我想将索引页面重定向到新域上的一个子目录。

subdomain.example.com/index.phpexample.com/folder/index.php

  • 这仅适用于其余子域的索引页面

subdomain.example.comexample.com

  • 这适用于所有内容页面,而不是索引页面。

我不能让两者同时重定向。有办法吗?

4

1 回答 1

0

尝试将这些规则放在您的 .htaccess 文件中:

RewriteEngine on
Options +FollowSymlinks -MultiViews

# handles http redirect sub-dir
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{SERVER_PORT} =80
RewriteCond %{HTTP_HOST} ^(.+\.)?mysite\.com$ [NC] 
RewriteRule ^/?(.*)$ http://www.anotheriste.com/feed?v=$1 [R=301,L,QSA,NE]

# handles http redirect non sub-dir
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{SERVER_PORT} =80
RewriteCond %{HTTP_HOST} ^(.+\.)?mysite\.com$ [NC] 
RewriteRule ^/?(.*)$ http://www.anotheriste.com/$1 [R=301,L,QSA,NE]

# handles https redirect sub-dir
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{SERVER_PORT} =443
RewriteCond %{HTTP_HOST} ^(.+\.)?mysite\.com$ [NC] 
RewriteRule ^/?(.*)$ https://www.anotheriste.com/feed?v=$1 [R=301,L,QSA,NE]

# handles https redirect non sub-dir
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{SERVER_PORT} =443
RewriteCond %{HTTP_HOST} ^(.+\.)?mysite\.com$ [NC] 
RewriteRule ^/?(.*)$ https://www.anotheriste.com/$1 [R=301,L,QSA,NE]
R=301 will redirect with https status 301

L 将制定最后一条规则

NE 用于无转义查询字符串

QSA 将附加您现有的查询参数

$1 是您的 REQUEST_URI

于 2013-01-28T10:04:47.763 回答