我需要在.htaccess文件中设置一个指令,重定向如下:
来自http://mydomain.com/internal/
到http://myotherdomain.com/internal/
有人可以帮忙吗?
由于
我的代码 - 产生500内部服务器错误
//Rewrite to www
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com/internal[nc]
RewriteRule ^(.*)$ http://myotherdomain.com/internal/$1 [r=301,nc]
答案 0 :(得分:2)
您的文件存在一些问题:评论以#
而不是//
开头,您无法将URI与HTTP_HOST匹配(您尝试匹配/内部),并且需要规则或标准和标志(NC)之间的空格。这应该工作:
#Rewrite to www
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^internal(.*)$ http://myotherdomain.com/internal$1 [R=301,NC]
答案 1 :(得分:1)
试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^internal(.*)$ http://myotherdomain.com/internal$1 [L,NC]
(.*)
会复制任何内容,以便您可以在$1
中使用它。如果重定向应该是永久性的,只需在R=301
L,NC
即可
修改强> 你在给定代码中的错误是:
^mydomain.com$
[NC]
RewriteRule ^(.*)$ http://myotherdomain.com/$1
或RewriteRule ^internal/(.*)$ http://myotherdomain.com/internal/$1
,但您的规则会重定向到internal/internal