文件结构如下所示
.htaccess代码
RewriteRule (.*) /x/$1 [L]
htaccess文件的作用是从网址中删除文件夹名称(x),以便访问y.php = http://localhost/y.php而不是http://localhost/x/y.php。这有效但我现在的问题是index.php显示如下:
Index of /x
Parent Directory
y.php
我无法访问index.php。我相信x成了根文件夹。 谢谢你的帮助!
答案 0 :(得分:0)
首先,您不应该在公共服务器上允许这样的索引显示...在您的localhost上它可能没问题,但是,您仍然可以通过添加以下内容在.htaccess中禁用它:
Options -Indexes
要解决您的问题,您应该在重写规则之前添加以下条件,以便规则不适用于磁盘上实际存在的任何文件或目录:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
这不会解决您的问题,因为.htaccess会重定向到不存在的 /x/index.php 文件...这就是为什么它显示了 / x 目录