0
我有上的时间试图找出重写规则为我的MVC microframework地狱。我正在关注的模式url.com/:controller/:action/:params但是当请求的资产(如CSS,JS,或png),我不希望那些被改写。这里是我的基本的文件夹结构:.htaccess的重写规则MVC
index.php
app/
--> Config
--> Controllers
--> Layout
--> Lib
--> Models
--> Views
assets/
--> app/
--> ...
--> vendor/
--> ...
所以,如果要求我上面描述的URL模式匹配,我希望它路由到index.php文件。如果它匹配的资产文件夹的东西,我希望它允许它要经过不受影响。
这是当前的.htaccess我创建并已改变的东西来回:
RewriteEngine On
RewriteBase/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(jpg|png|js|css)$
RewriteRule ^([^/]+)(/)([^/]+)(/)(.*) index.php?controller=$1&action=$3¶ms=$5 [L]
RewriteRule ^([^/]+)(/)(.*) index.php?controller=$1&action=$3¶ms= [L]
RewriteRule ^([^/]+)(/) index.php?controller=$1&action=index¶ms= [L]
RewriteRule ^([^/]+) index.php?controller=$1&action=index¶ms= [L]
URL模式匹配的罚款,但由于某些原因的资产文件夹的任何请求也得到改写。做一些不同的测试,我发现大号标志,我的理解是指“最后”,不会处理进一步重写阻止它。
我知道其他人不得不为MVC是这样一个共同的模式之前,已经处理了这个问题。任何人都可以指出我做错了什么吗?
我会被定罪。对我来说,这太容易了很久了。非常感谢!我会尽快接受它,因为它会允许我。 –
不客气!这是否解决了?排除文件夹或更改请求方法? –
我实现了两个......我想像不包括文件夹,虽然有最大的变化。 –