1

我知道这个话题在关于 SO 的对话中已经出现过几次,但是我确实相信我的问题是非常定制的,作为一个没有经验的 apache htaccess 编码器,我不确定在哪里寻找或正确询问什么。

我的目标:

我的域名(www.mydomain.com)

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

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

我的问题:

我已经“部分”实现了这一点,但是当我导航到另一个页面时,例如:/about/shop文件夹中,我将收到 404 错误,因为服务器正在查找mydomain.com/about而不是mydomain.com/shop/about.

从外观上看,服务器正在查看'shop'根目录,并在实际根目录中查找网站的其余部分。

我希望整个网站从/shop文件夹中运行,但域保持不变mydomain.com/about等。

我迷失了,无法做到这一点。我当前的 apache 重写是:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteCond %{REQUEST_URI} !^/shop/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /shop/$1
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteRule ^(/)?$ shop/index.php [L]

有什么建议和帮助吗?:) 谢谢。

4

1 回答 1

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]
于 2013-08-14T14:55:07.847 回答