【发布时间】:2012-06-25 17:20:21
【问题描述】:
我已经阅读了基于此主题的多个线程,但没有一个规则有效,所以我确定我做错了什么。
我的 /var/www 中有以下结构
main domain folders that redirects to domain.com
folder1 that redirects to domain1.com
folder2 that redirects to domain2.com
在文件夹 2 内我还有 3 个子目录
folder2/subdirectory1
folder2/subdirectory2
folder2/subdirectory3
这些应该重定向到:
www.domain2.com/subdirectory1
www.domain2.com/subdirectory2
www.domain2.com/subdirectory3
但不是那样,它还会在 url 中显示文件夹 2,因此它正在列出
www.domain2.com/folder2/subdirectory1
www.domain2.com/folder2/subdirectory2
www.domain2.com/folder2/subdirectory3
我有两个 .htaccess:一个在根文件夹中,一个在文件夹 2 中
来自根文件夹的htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
ReWriteCond %{HTTP_HOST} domain1.com
ReWriteCond %{REQUEST_URI} !folder1/
ReWriteRule ^(.*)$ folder1/$1 [L]
ReWriteCond %{HTTP_HOST} domain2.com
ReWriteCond %{REQUEST_URI} !folder2/
ReWriteRule ^(.*)$ folder2/$1 [L]
来自文件夹 2 的 htaccess
RewriteEngine On
RewriteBase /
ReWriteCond %{HTTP_HOST} domain2.com/subdirectory1
ReWriteCond %{REQUEST_URI} !subdirectory1/
ReWriteRule ^(.*)$ subdirectory1/$1 [L]
ReWriteCond %{HTTP_HOST} domain2.com/subdirectory2
ReWriteCond %{REQUEST_URI} !subdirectory2/
ReWriteRule ^(.*)$ subdirectory2/$1 [L]
ReWriteCond %{HTTP_HOST} domain2.com/subdirectory3
ReWriteCond %{REQUEST_URI} !subdirectory3/
ReWriteRule ^(.*)$ subdirectory3/$1 [L]
希望我能最终解决这个问题
【问题讨论】:
-
您在文件夹 2 中的重写规则没有做任何事情:
ReWriteCond %{HTTP_HOST} domain2.com/subdirectory1永远不会匹配任何内容。%{HTTP_HOST}只包含域部分,不包含子目录。
标签: .htaccess url rewrite subdirectory