在/ public_html /文件夹下,在domain.com上,有一个名为商店的文件夹。在该文件夹中,有多个子文件夹,每个子文件夹都有自己的索引文件,css,js等。例如,可能有一个名为 flowerstore 的文件。
我需要使用.htaccess将 shop.domain.com/flowerstore 等网址指向/ public_html / shops / flowerstore。
我目前的重写指令似乎不起作用,所以我可以真正使用你的帮助。
RewriteCond %{HTTP_HOST} ^shop\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/shops/
RewriteRule (.*) /shops/$1
如果它有所不同,我的网站托管了GoDaddy,但我们正在使用AWS' DNS。很确定它没有任何区别,但它确实是一个htaccess怪癖。
答案 0 :(得分:5)
你的规则适合我。我在我的服务器上测试过它们。
domain.com - > domain.com /
shop.domain.com - > shop.domain.com/shops/
shop.domain.com/flowershop - > shop.domain.com/shops/flowershop /
RewriteEngine On
RewriteCond %{HTTP_HOST} ^shop\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/shops/
RewriteRule (.*) /shops/$1
我不确定它在GoDaddy上是如何工作的,但你可能只需要像上面的那样打开重写引擎。
答案 1 :(得分:0)
您可以在不配置 .htaccess 文件的情况下实现此目的。您是否使用子域名应用创建了 shop.domain.com ?如果没有,您可以按照以下步骤操作:
如果您使用子域名应用创建了子域名,则只需在该区域修改其文档根目录,并将其设置为“/ public_html / shops”。< / p>
答案 2 :(得分:0)
设置重写引擎并在.htacess
中添加以下代码,将您重定向到子文件夹
RewriteEngine on
RewriteCond %{HTTP_HOST} ^shop.domain.com
RewriteRule ^(.*)$ http://domain.com/shops/$1 [L,NC,QSA]