我在为我的网站实现MVC设计模式时遇到了问题。我在文件夹/www
(我的DOCUMENT_ROOT
)中有一个名为“svce”的文件夹。我创建了一个.htaccess
文件,并在其中编写了以下代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$index.php?url=$1 [QSA,L]
然后我编辑了httpd.conf
文件并取消注释LoadModule rewrite_module modules/mod_rewrite.so
。
即使这样做,RewriteEngine
也无效。当我尝试使用http://localhost/svce/blahblah.php
访问应用程序时,它会给我一个默认的404错误页面。
IT应该只显示/svce
目录中的索引页面。
答案 0 :(得分:3)
你错过了一个空格:
# here -----------v
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
如果没有该空间,规则要重写一个看起来像/something/$index.phpurl=$1
的URI,并将其重写为[QSA,L]
,这可能不是一个有效的资源。
另外,请确保在服务器配置中设置了AllowOverride All
。