RewriteRule用于父目录中的文件

Jam*_*mes 5 apache .htaccess mod-rewrite

我在apache服务器上设置了一个站点,其中桌面站点位于/ public_html,移动站点位于public_html/mob中

我正在尝试设置一个.htaccess rewriterule来将用户发送到/ public_html中的index.php文件,如果他们访问/ mob文件夹的话.我目前的重写规则,在mob子文件夹中是:

RewriteRule ^(/)?$ ../index.php
Run Code Online (Sandbox Code Playgroud)

我可以在mob子目录中加载相同的文件:

RewriteRule ^(/)?$ index.php
Run Code Online (Sandbox Code Playgroud)

但是我似乎无法让网站从父目录(public_html)加载index.php文件.

尝试在浏览器中加载http://www.domain.com/mob时,我会收到:

Bad Request

Your browser sent a request that this server could not understand.
Run Code Online (Sandbox Code Playgroud)

这个重写程序在我们的开发服务器上运行良好,但在我们的实时环境中不起作用.

/ public_html/mob文件夹中的.htaccess文件如下:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^(/)?$ ../index.php [L,QSA]
Run Code Online (Sandbox Code Playgroud)

当达到index.php时,移动设备检测脚本决定是否从桌面或移动站点加载内容.

anu*_*ava 6

  • 检查DOCUMENT_ROOT你的m.domain.com.

如果DOCUMENT_ROOT您的情况m.domain.com是,那么您无法在不执行完整重定向(或代理)的情况下/public_html/mob加载/public_html/index.phphttp://domain.com/index.php

  • 只是为了澄清任何网站都无法访问其DOCUMENT_ROOT文件夹级别之上的文件。