2
我轉向瘋狂與此的.htaccess:兩個簡單的重寫規則的一排......但奇怪的結果在最後
SetEnv PHP_VER 5_4
AddDefaultCharset UTF-8
Options +FollowSymlinks
RewriteEngine on
RewriteBase/
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L,R,QSA]
#--------------------------------------------------
# Format type management --------------------------
#--------------------------------------------------
RewriteRule ^(.*)\.(html|json|xml)$ $1?_format_=$2 [QSA,NC]
#--------------------------------------------------
# Route management --------------------------
#--------------------------------------------------
RewriteCond %{REQUEST_URI} !^/index.php$ [NC]
RewriteRule ^(.*)$ index.php?_route_=$1 [QSA,NC,L]
,我試圖重定向:
http://mydomain/album/11.json
要
http://mydomain/index.php?_route_=album/11&_format_=json
抱歉,系統我得到這個:
http://mydomain/index.php?_route_=album/11/11.json&_format_=json
我真的不明白什麼是錯的論文拖規則,以及如何來這樣的結果......
任何想法?
THX ...
順便說一句,它完美的作品時,我用這個來代替(第一個中添加第二個規則,並添加L
標誌),但是這不是我想要的方式要做到這一點:
(...)
#--------------------------------------------------
# Format type management --------------------------
#--------------------------------------------------
RewriteRule ^(.*)\.(html|json|xml)$ index.php?_format_=$2&_route_=$1 [QSA,NC,L]
(...)
DPI標誌很好,你救了我的一天。我會認真看待你的正則表達式變化,我不知道'?!'語法。謝謝。 – 2014-10-19 12:03:31
很高興解決。 ''!''是一個負面的前瞻,它基本上保存了一個來自你以前的規則的'RewriteCond'。 – anubhava 2014-10-19 12:11:07