0

我需要在我的 .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]
4

2 回答 2

2

您的文件存在一些问题:注释以#not开头//,您无法将 URI 与 HTTP_HOST 匹配(您试图匹配 /internal),并且规则或 cond 与标志之间需要有空格(NC )。这应该可以工作:

#Rewrite to www
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^internal(.*)$ http://myotherdomain.com/internal$1 [R=301,NC]
于 2012-05-31T18:55:45.520 回答
1

试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^internal(.*)$ http://myotherdomain.com/internal$1 [L,NC]

(.*)复制任何内容,以便您可以在$1. 如果重定向应该是永久性的,只需在R=301之后添加L,NC

编辑 您在给定代码中的错误是:

  1. 评论使用“#”
  2. 主机是^mydomain.com$
  3. 您必须在主机和主机之间添加一个空格[NC]
  4. RewriteRule ^(.*)$ http://myotherdomain.com/$1OR RewriteRule ^internal/(.*)$ http://myotherdomain.com/internal/$1,但您的规则将重定向到internal/internal
于 2012-05-31T18:51:14.843 回答