PHP前端控制器和带有XAMPP和Windows的.htaccess


PHP Front Controller and .htaccess with XAMPP and Windows

我正在尝试获得一个用于路由设置的简单前端控制器。这是我拥有的front-controller.php文件:

<?php
if ($_SERVER['REQUEST_URI'] == '/help') {
    include 'help.php';
}

这是我的index.php(位于htdocs/wad下)文件夹中的一个.htaccess文件

RewriteEngine On
RewriteRule . /front-controller.php [L]

httpd.conf中,我将AllowOverride None行的所有实例更改为AllowOverride All,并取消对LoadModule rewrite_module modules/mod_rewrite.so行的注释。

如果我尝试转到localhost/wad/help,甚至localhost/wad,我会得到错误404:http://puu.sh/cE6WT/2e4c645555.png

help.php文件已存在。我希望能够浏览到localhost/wad/help并加载它(在同一页面中,而不是重定向到它)。我是不是搞错了?

感谢

我认为,如果你像这样使用.htaccess,还有一种更好的方法:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /front-controller.php?action=$1 [QSA,L]

然后在front-controller.php中,您可以使用$_GET["action"]解析它,并将其路由到您想要的位置。