.htaccess 文件有问题。我以这种方式配置它。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)/$ index.php?controller=$1 [L]
每次访问http://localhost/mvc3/contacto/
时,我都访问http://localhost/mvc3/index.php?controller=contacto
,这是正确的,但是如果友好的URL删除了最后一个字符/
({{3} }),它将返回到根页面(wampserver服务器)。
在此视频中解释了该问题,将会发生什么情况?
答案 0 :(得分:1)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?controller=$1 [L]
从重写规则中删除斜杠,它应该起作用。
答案 1 :(得分:0)
下面的.htaccess中的更改可能对您有帮助
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ index.php?controller=$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
</IfModule>