根据子目录是否有可能具有单独的域别名和重定向?

问题描述:

我需要根据是否在子目录中设置域名的别名/重定向。根据子目录是否有可能具有单独的域别名和重定向?

newdomain.comparent.com/newdomain的别名。这被设置为主机控制面板中的别名,并且正在工作。

我需要的URL出现不同,具体取决于该文件,如

  • 文件中newdomain.com应该出现在地址栏为 parent.com/newdomain/filename.php
  • 子目录中newdomain.com应该出现在地址栏中 作为newdomain.com/subdir/filename.php

我可以使用htaccess来控制重定向,但我还没有找到一种方法来它控制混叠。 这可能吗?谢谢

我的答案是基于newdomain.comparent.com服务于同一个Apache进程的假设。

把这个代码在你.htaccessDOCUMENT_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=302R=301

+0

感谢您的答复@anubhava。目前newdomain.com只是一个别名,并没有为它设置托管。设置托管唯一的方法,我将能够在地址栏中具有不同的别名? – FluffyKitten

+0

因为我相信你不需要为'newdomain.com'设置托管。只需启用'mod_rewrite','.htaccess'并将上面的代码放在'parent.com'的$ DOCUMENT_ROOT'目录中。 – anubhava

+0

当你上面说“把.htaccess放入newdomain.com的根目录”时,我以为你的意思是我需要托管 - 我假设你打算说parent.com?我之前曾在parent.com上试过htaccess,但它不起作用,但我会试试你的。谢谢 – FluffyKitten