我是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>
答案 0 :(得分:0)
在apache的主配置中,我没有允许覆盖我的htaccess文件。我只是为那个O
添加一条规则Options +SymLinksIfOwnerMatch
AllowOverride all
它现在都在工作