我在apache服务器上设置了一个站点,其中桌面站点位于/ public_html,移动站点位于public_html / mob
我正在尝试设置.htaccess rewriterule,以便在用户访问/ mob文件夹时将用户发送到/ public_html中的index.php文件。我目前的重写规则,在mob子文件夹中是:
RewriteRule ^(/)?$ ../index.php
我可以使用:
在mob子目录中加载相同的文件RewriteRule ^(/)?$ index.php
但是我似乎无法让网站从父目录(public_html)加载index.php文件。
尝试在我收到的浏览器中加载http://www.domain.com/mob时:
Bad Request
Your browser sent a request that this server could not understand.
这个重写程序在我们的开发服务器上运行良好,但在我们的实时环境中不起作用。
/ public_html / mob文件夹中的.htaccess文件如下:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(/)?$ ../index.php [L,QSA]
当达到index.php时,移动设备检测脚本会决定是从桌面还是移动网站加载内容。
答案 0 :(得分:4)
DOCUMENT_ROOT
。{/ li>的m.domain.com
如果DOCUMENT_ROOT
的{{1}}为m.domain.com
,那么在未对/public_html/mob
进行完全重定向(或代理)的情况下无法加载/public_html/index.php
http://domain.com/index.php
文件夹级别以上的文件。答案 1 :(得分:1)
如果您的规则的目标以/
开头,则使其成为从文档根开始的绝对URI,我假设它是public_html文件夹:
RewriteRule ^(/)?$ /index.php