我使用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的一部分?
答案 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
网站的文档根目录中。