无法重写将所有内容重定向到前端控制器

时间:2019-07-13 16:49:49

标签: apache .htaccess mod-rewrite

我正在尝试将所有网站流量重定向到我的前端控制器,但是我一直在麻烦让我的网站在文件已经存在时进行重定向。例如:www.example.com/IDontExist/不存在,并将我发送给控制器,但是www.example.com/maintence/存在,因此完全跳过了我的控制器。不是目的。

我已经尝试过.htaccess文件中的一些操作,并且需要使用它们,因为我必须将其上传到Godaddy共享Linux服务器,并且对高级配置没有太多访问权限。

这是我当前的.htaccess文件:

RewriteEngine On
DirectorySlash Off
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /index.php [NC,L,QSA]
</IfModule>

我需要派人去www.example.com/maintenance/和所有其他URL到前端控制器,以处理页面,然后再发送给客户端。现在,它正在查找文件并将其加载,然后再转到前端控制器。

编辑:由于某种原因忘记删除RewriteCond命令会导致500错误。

2 个答案:

答案 0 :(得分:0)

之后,删除文件和目录除外

RewriteEngine On
RewriteRule ^([^?]*)$ /index.php [NC,L,QSA]

答案 1 :(得分:0)

这是一个重定向循环。删除条件,然后添加以下条件将解决此问题。

RewriteCond %{REQUEST_URI} !/index.php