htaccess重定向进入重定向循环

时间:2013-10-29 10:31:49

标签: apache .htaccess redirect modx

我使用modx创建了一个后端,该服务器位于服务器上,其中包含以下URL:

http://www.server.com/company-name/en/pages/

网站的实时版本有一个指向/ en /目录的域。 所以为了正确访问,我必须去:

http://www.domain.com/en/pages/

但是modx仍然将文件夹“company-name”添加到所有内容中。然后指向不存在的页面。

当我在.htaccess中进行以下操作时,页面进入重定向循环并出现错误。

RewriteEngine On
RewriteBase /de/pages/
RewriteCond %{HTTP_HOST} .

RewriteCond %{HTTP_HOST} !^domain\.com/company-name/en/pages/ [NC]
RewriteRule (.*) http://www\.domain\.ch/en/pages/$1 [R=301,L]

如何正确使用此功能?那么目录“company-name”永远不会成为url的一部分?

1 个答案:

答案 0 :(得分:2)

由于“主机”字段不包含路径信息,只包含主机名,因此%{HTTP_HOST} 永远不会看起来像domain\.com/company-name/en/pages/。所以你想要:

RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule ^company-name/(.*)$ http://www.domain.com/en/pages/$1 [L,R=301]

您需要将htaccess文件和这些规则放在www.server.com网站的文档根目录中。

相关问题