根据子目录是否有可能具有单独的域别名和重定向?
问题描述:
我需要根据是否在子目录中设置域名的别名/重定向。根据子目录是否有可能具有单独的域别名和重定向?
newdomain.com
是parent.com/newdomain
的别名。这被设置为主机控制面板中的别名,并且正在工作。
我需要的URL出现不同,具体取决于该文件,如
- 文件中
newdomain.com
应该出现在地址栏为parent.com/newdomain/filename.php
- 子目录中
newdomain.com
应该出现在地址栏中 作为newdomain.com/subdir/filename.php
我可以使用htaccess来控制重定向,但我还没有找到一种方法来它控制混叠。 这可能吗?谢谢
答
我的答案是基于newdomain.com
和parent.com
服务于同一个Apache进程的假设。
把这个代码在你.htaccess
下DOCUMENT_ROOT
目录的newdomain.com
:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^(www\.)?newdomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/+subdir/ [NC]
RewriteRule^http://parent.com/newdomain%{REQUEST_URI} [L,R=302,NC]
一旦你验证它的工作再改R=302
到R=301
感谢您的答复@anubhava。目前newdomain.com只是一个别名,并没有为它设置托管。设置托管唯一的方法,我将能够在地址栏中具有不同的别名? – FluffyKitten
因为我相信你不需要为'newdomain.com'设置托管。只需启用'mod_rewrite','.htaccess'并将上面的代码放在'parent.com'的$ DOCUMENT_ROOT'目录中。 – anubhava
当你上面说“把.htaccess放入newdomain.com的根目录”时,我以为你的意思是我需要托管 - 我假设你打算说parent.com?我之前曾在parent.com上试过htaccess,但它不起作用,但我会试试你的。谢谢 – FluffyKitten