PHP中的URL路由(MVC)


URL routing in PHP (MVC)

我正在构建一个自定义MVC项目,我有一个基本文件夹/mvc,其中包含.htaccessroutes.php文件,并放置在C:'xampp'htdocs根文件夹。以下是我的文件:

C: ' xampp '根' mvc ' . htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !.*'.png$ [NC]
RewriteCond %{REQUEST_URI} !.*'.jpg$ [NC]
RewriteCond %{REQUEST_URI} !.*'.css$ [NC]
RewriteCond %{REQUEST_URI} !.*'.gif$ [NC]
RewriteCond %{REQUEST_URI} !.*'.js$ [NC]
RewriteRule ^((?!routes'.php).+)$ /mvc/routes.php [L]
</IfModule>

C: ' xampp '根' mvc ' routes.php

<?php
# Routing logic goes here...
<标题>

我想将routes.php移动到mvc/app文件夹中,因此我更改了.htaccess

中的这一行
RewriteRule ^((?!routes'.php).+)$ /mvc/routes.php [L]

到这行:

RewriteRule ^((?!routes'.php).+)$ /mvc/app/routes.php [L]

但这似乎不起作用!我得到一个500错误。我在这里做什么?我想将所有请求(包括任何.php或其他文件请求,不包括图像)重定向到mvc/app/routes.php,它将处理HTTP请求并将它们定向到适当的控制器。

Try with:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !'.(png|jpg|css|gif|js)$ [NC]
RewriteRule ^((?!app/routes'.php).+)$ /mvc/app/routes.php [L]
</IfModule>