Apache-使用.htaccess重定向到根文件夹

时间:2018-08-07 05:52:41

标签: php .htaccess

.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服务器)。

在此视频中解释了该问题,将会发生什么情况?

视频▶️http://localhost/mvc3/contacto

2 个答案:

答案 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>