我尝试从特殊文件夹重定向到特殊主机。
当有人输入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]
任何想法?
更新
现在我使用它,它适用于vhost的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]
谢谢, 托马斯
答案 0 :(得分: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=302
替换为R=301
。在测试mod_rewrite规则时,请避免使用R=301
(永久重定向)。