我有两个域指向我的网站空间的同一根文件夹。我的根目录设置如下:
请求......
# Redirect domain1.com paths to domain1 folder.
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/domain1/
RewriteRule ^(.*)$ /domain1/$1
# Redirect controllers to index.php.
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^domain1/(.*)$ /domain1/index.php?controller=$1 [QSA,L]
# Redirect domain2.com paths to domain2 folder.
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/domain2/
RewriteRule ^(.*)$ /domain2/$1
# Redirect controllers to index.php.
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^domain2/(.*)$ /domain2/index.php?controller=$1 [QSA,L]
剩下要做的是:
注意:我宁愿不使用符号链接,因为我在Windows上运行xampp进行本地开发。
如果用户输入了内容,我如何在内部从http://www.domain1.com重定向到http://www.domain1.com/domain1但不能提供http://www.domain1.com/domain1?
答案 0 :(得分:1)
您需要测试request line以查看最初请求的URI:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(domain1|domain2)[/?\ ]
RewriteRule ^(domain1|domain2)($|/) -
在这种情况下,您可以发送状态代码404([R=404]
标志,因为Apache 2)或将请求重写到处理此类请求的某个点。