0

我尝试从特殊文件夹重定向到特殊主机。

当有人输入http://mydomain.com/administrator他应该被重定向到https://a-otherdomain.com/mydomain.com/administrator

我所拥有的是 DOCUMENT_ROOT 中的 .htaccess 文件中的 .. 但它需要工作:(

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (^|\.)mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/administrator(/*) [NC]
RewriteRule ^/administrator/(.*)$ https://a-otherdomain.com/mydomain.com/administrator/$1     [QSA,R=301,L]

有任何想法吗?

更新:

现在我使用它,它适用于虚拟主机的 apache 配置文件:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (^|\.)mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/administrator/ [NC]
RewriteRule ^/(.*)$ https://a-otherdomain.com/mydomain.com/$1 [R=301,L]

谢谢,托马斯

4

1 回答 1

0

RewriteRule 与 URI 中的前导斜杠不匹配。

试试这个代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (^|\.)mydomain\.com$ [NC]
RewriteRule ^administrator(/.*|)$ https://a-otherdomain.com/mydomain.com/$0 [R=302,L,NC]

确认它工作正常后,替换R=302R=301. R=301在测试你的 mod_rewrite 规则时避免使用(永久重定向)。

于 2013-05-31T12:40:55.747 回答