1

我使用 modx 创建了一个后端,该后端位于具有以下 url 的服务器上:

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

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

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

但是 modx 仍然将文件夹“公司名称”添加到所有内容中。然后指向一个不存在的页面。

当我在 .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]

我怎样才能使它正常工作?所以目录“公司名称”永远不是网址的一部分?

4

1 回答 1

2

%{HTTP_HOST}永远不会看起来像domain\.com/company-name/en/pages/,因为 Host 字段不包含路径信息,只是一个主机名。所以你要:

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

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

于 2013-10-29T10:41:32.583 回答