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是這樣一個共同的模式之前,已經處理了這個問題。任何人都可以指出我做錯了什麼嗎?
我會被定罪。對我來說,這太容易了很久了。非常感謝!我會盡快接受它,因爲它會允許我。 –
不客氣!這是否解決了?排除文件夾或更改請求方法? –
我實現了兩個......我想像不包括文件夾,雖然有最大的變化。 –