htaccess重定向规则不起作用

时间:2018-03-13 10:13:22

标签: php .htaccess

我是htaccess的新手所以请不要评价我:)。 我有以下问题 - 我在我的本地服务器上创建一个网站/它是apache2 /,项目位于www / html / subFolder / MVC中。 在MVC文件夹中,我有以下结构

MVC
|-- .htaccess
|-- app
||-- bootstrap.php
||-- .htaccess
||-- config
||-- controllers
||-- helpers
||-- libraries
|||-- controller.php
|||-- core.php
||`-- database.php
||-- models
|`-- views
`-- public
|-- .htaccess
|-- css
|-- img
|-- index.php
`-- js

问题是我尝试为公用文件夹制作重定向规则。例如,当用户尝试打开MVC / public / test.php /某个不存在的文件时/它应该将其重定向到MVC / public / index.php,但我的规则不起作用 这是我公共文件夹中的htaccess文件

<IfModule mod_rewrite.c>
 Options -Multiviews
 RewriteEngine On
 RewriteBase /MVC/public
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>

这是我在根文件夹中的htaccess

<IfModule>
 RewriteEngine on
 RewriteRule ^& public/ [L]
 RewriteRule (.*) public/$1 [L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

在apache的主配置中,我没有允许覆盖我的htaccess文件。我只是为那个O

添加一条规则
Options +SymLinksIfOwnerMatch
AllowOverride all

它现在都在工作