.Htaccess - 将子域重定向到根域

时间:2013-08-14 14:47:34

标签: apache .htaccess rewrite

我知道这个主题已经在SO的谈话中出现了几次,但是我确实认为我的问题非常定制,而且作为一个没有经验的apache htaccess编码器,我不确定在哪里看或者要问什么。< / p>

我的目标:

我的域(www.mydomain.com)

我的目标(www.shop.mydomain.com)

当用户指向'my domain'时,服务器会指向'shop'子文件夹,但这不会更改网址中可见的域。

我的问题:

我已经实现了'部分'但是当我导航到/about文件夹中的另一个页面/shop时,我会收到404错误,因为服务器正在查看{{1}而不是mydomain.com/about

从它的外观看,服务器正在查看根目录的mydomain.com/shop/about以及网站其余部分的实际根目录。

我希望整个网站都可以从'shop'文件夹运行,但域名可以保留为/shop等。

我迷路了,无法实现这一目标。我当前的apache重写是:

mydomain.com/about

有任何建议和帮助吗? :)谢谢。

1 个答案:

答案 0 :(得分:0)

.htaccess目录下的DOCUMENT_ROOT中试用此代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^$ shop/index.php [L]

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule (?!^shop/)^(.+)$ /shop/$1 [L,NC]