我有一个域和一个子域(用于移动设备和客户端)的共享主机。每个域和子域都有不同的默认索引页。托管公司告诉我将所有内容都放入.htaccess文件中,因为我无权访问httpd.conf。
我想做的是这样的:
DirectoryIndex
应为:index.html
DirectoryIndex
应为:mobile-index.html
DirectoryIndex
应为:post.php
DirectoryIndex
应为:vote.php
编辑:
另外,如果我转到domain1.com/page/,则
DirectoryIndex
应该为:index.html
。如果我转到mobile.domain1.com/page/,则DirectoryIndex
应该为:mobile-index.html
为了更改每个子域的
DirectoryIndex
,我可以在.htaccess文件中放入哪些内容?非常感谢你
最佳答案
<IfDefine>
不能那样工作。 <IfDefine>
仅在apache启动时运行。您应该使用mod_rewrite解决方案。查看@tzakrajs答案。
您可以在.htaccess文件中使用它:
SetEnvIf Host ^www\. page=www
SetEnvIf Host ^mobile\. page=mobile
rewriterule ^.*$ test.php?subdomain=%{ENV:page} [QSA,L]
只需使用
SetEnvIf
配置所有子域,然后让PHP发挥作用即可。关于apache - 根据.htaccess中的域/子域更改DirectoryIndex,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7269685/