我非常亲爱的Stackoverflow社区,
我有以下重定向问题,经过几次不成功的尝试,我来到这里寻求启蒙。我的问题如下。我有一个域名,我们称之为'www.mydomain.com',我的'public_html'目录有两个文件夹,如下所示:
的public_html
的public_html / my_app应用/
的public_html / my_other_app /
首先,我希望在输入网址“www.mydomain.com”时,我会重定向到文件夹'my_app'的内容,同时保留相同的网址。事实上,我已经完成了,所以每当我输入'www.mydomain.com'时,我都会被重定向到'www.mydomain.com/index.php',它实际上对应于'public_html / myapp / index.php'脚本在'myapp'下。
现在我想要一个名为'other.mydomain.com'的子域名,它必须重定向到'my_other_app'文件夹的内容,但我不知道如何让.htaccess为此工作,同时为第一个案件工作。
所以基本上,主域重定向到一个文件夹,子域重定向到另一个文件夹,两个文件夹都位于public_html目录下
任何提示都非常受欢迎。
供我参考,我发布在我当前的.htaccess文件下面:
RewriteEngine On
# redirect to www prefix
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
# if start with www and no https then redirect
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www.mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
# rewrite URL to trim folder
RewriteCond %{REQUEST_URI} !^/test/
RewriteRule ^$ /login [L,R=301]
RewriteRule ^(.*)$ test/$1 [L]
这实际上适用于我的主域,它还将URL重写为https。我需要在这里添加一些东西,以便单独处理'other.mydomain.com'并重定向到'/ my_other_app /'子文件夹
答案 0 :(得分:0)
你需要的是每个应用程序的vhost(虚拟主机)。在vhost中,您将定义vhosts根目录,该目录将指向您的任一子目录。
有基于IP的虚拟主机(每个子域一个IP地址)或基于名称的虚拟主机(根据所有现代浏览器发送的HTTP主机头选择虚拟主机)。 但是关于vhosts在这里写这些内容还有太多话要说,只需阅读这里的apache文档:
http://httpd.apache.org/docs/2.2/vhosts/
我认为使用纯.htaccess文件,你不能这样做(我可能错了)。通常你会在主apache配置中添加vhosts。根据您的托管,这可能是不可能的。在这种情况下,请与您的托管服务提供商联系。
马克