.htaccess在我的PHP MVC框架中不起作用

.htaccess在我的PHP MVC框架中不起作用,.htaccess,url-rewriting,.htaccess,Url Rewriting,我正在ubuntu上从头开始构建自己的PHP MVC框架.htaccess文件在其中无法正常工作。文件夹结构和.htaccess文件内容如下所示 文件夹结构 .htaccess文件内容 当我键入localh0st/MyMVCProject/help时,会出现以下错误 未找到 在此服务器上找不到请求的URL/MyMVCProject/help。 位于localh0st端口80的Apache/2.2.22(Ubuntu)服务器 我确信我已经启用了mod_rewrite。试着这样做,从$\u REQU

我正在ubuntu上从头开始构建自己的PHP MVC框架
.htaccess
文件在其中无法正常工作。文件夹结构和
.htaccess
文件内容如下所示

文件夹结构
.htaccess
文件内容 当我键入
localh0st/MyMVCProject/help
时,会出现以下错误

未找到
在此服务器上找不到请求的URL/MyMVCProject/help。
位于localh0st端口80的Apache/2.2.22(Ubuntu)服务器


我确信我已经启用了mod_rewrite。

试着这样做,从
$\u REQUEST
数组中,您可以获取url参数并在index.php文件中处理它

也用于测试目的,添加

echo <pre>;
print_r($_REQUEST);
echo </pre>;
尝试以下重写规则(从Zend framework复制并进行位修改)


我遇到了同样的问题,在我的例子中,错误是在同一目录中有一个
help.php
文件时产生的。不知道发生这种情况的确切原因…

您需要添加:


到你的.htaccess文件。

可能是你在这里犯了错误,
localh0st
,实际上你是想做
localhost
?嗨,尤金,我在“stackoverflow”上发布问题时故意这么做的。好的。你试过我的建议吗?你的应用程序需要什么URL?例如,对
localh0st/MyMVCProject/help
的请求将导致请求被路由到:
index.php?url=MyMVCProject/help
-正确吗?尝试了这个方法。相同的结果:-(.谢谢。如果启用了
多视图
,可能会发生这种情况,因为这将导致
/help
被内部重写为
/help.php
(如果
help.php
作为物理文件存在于该目录中)在mod_rewrite重写请求之前。在这种情况下,您可以在每个目录中禁用
多视图
。htaccess:
选项-多视图
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
echo <pre>;
print_r($_REQUEST);
echo </pre>;
<ifModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI} ^/$ [NC]
    RewriteRule ^(.*)$ /$1 [R=301,L]
</ifModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ index.php?url=$1 [QSA,NC,L]
RewriteBase /MyMVCProject