malcolm
Новичок
проблема с RewriteRules в modrewrite
сервер был на iis 5.1 с ISAPI-rewriter'ом, на нём я использовал такие правила:
--------------------------------------
RewriteRule (.*)(robots.txt|sitemap.xml) /$2 [L]
RewriteRule (.*)(soundcontroller.swf|sound-config.xml) /data/$2 [L]
RewriteRule (.*)(js)/(.*) /$2/$3 [L]
RewriteRule (.*)(_forum|_sql|_counter|_chat|_sqlm|_llbox)/(.*) /$2/$3 [L]
RewriteRule (.*)(image|css|uploads|modules|includes|data|audio)/(.*) /$2/$3 [L]
RewriteRule (.*)\?(.*) /index.php?rewriteurl=$1&$2 [L]
RewriteRule (.*) /index.php?rewriteurl=$1
--------------------------------------
всё было ок, пока админ не решил поставить linux/apache 1.3. правила перестали пахать и приходиться переписывать. вот мой текущая перепись:
--------------------------------------
RewriteEngine On
RewriteRule ^(.*)(robots.txt|sitemap.xml)$ /$2 [L]
RewriteRule ^(.*)/(soundcontroller.swf|sound-config.xml)$ /data/$2 [L]
RewriteRule ^(.*)/(js)/(.*)$ /$2/$3 [L]
RewriteRule ^(.*)/(_forum|_sql|_counter|_chat|_sqlm|_llbox)/(.*)$ /$2/$3 [L]
RewriteRule ^(.*)/(image|css|uploads|modules|includes|data|audio)/(.*)$ /$2/$3 [L]
RewriteRule ^(.*)\?(.*)$ index.php?rewriteurl=$1&$2 [L]
RewriteRule ^(.*)$ index.php?rewriteurl=$1 [QSA,L]
---------------------------------------
впринципе работает, но при обработке url не происходит прерывания [L], хотя должно.
т.е. если страница например
http://localhost/articles/xfiles/myth переходит в http://localhost/index.php?rewriteurl=articles/xfiles/myth но css стили на странице не отображаются, т.к. url
http://localhost/articles/xfiles/myth/css/new_style.css переходит в http://localhost/index.php?rewriteurl=css/new_style.css а должно быть http://localhost/css/new_style.css
может быть криво написал... не судите строго, просто помогите, я уже голову сдурил всё. 100% какойто мелкий глюк, но найти не магу...
заранее спасибо
сервер был на iis 5.1 с ISAPI-rewriter'ом, на нём я использовал такие правила:
--------------------------------------
RewriteRule (.*)(robots.txt|sitemap.xml) /$2 [L]
RewriteRule (.*)(soundcontroller.swf|sound-config.xml) /data/$2 [L]
RewriteRule (.*)(js)/(.*) /$2/$3 [L]
RewriteRule (.*)(_forum|_sql|_counter|_chat|_sqlm|_llbox)/(.*) /$2/$3 [L]
RewriteRule (.*)(image|css|uploads|modules|includes|data|audio)/(.*) /$2/$3 [L]
RewriteRule (.*)\?(.*) /index.php?rewriteurl=$1&$2 [L]
RewriteRule (.*) /index.php?rewriteurl=$1
--------------------------------------
всё было ок, пока админ не решил поставить linux/apache 1.3. правила перестали пахать и приходиться переписывать. вот мой текущая перепись:
--------------------------------------
RewriteEngine On
RewriteRule ^(.*)(robots.txt|sitemap.xml)$ /$2 [L]
RewriteRule ^(.*)/(soundcontroller.swf|sound-config.xml)$ /data/$2 [L]
RewriteRule ^(.*)/(js)/(.*)$ /$2/$3 [L]
RewriteRule ^(.*)/(_forum|_sql|_counter|_chat|_sqlm|_llbox)/(.*)$ /$2/$3 [L]
RewriteRule ^(.*)/(image|css|uploads|modules|includes|data|audio)/(.*)$ /$2/$3 [L]
RewriteRule ^(.*)\?(.*)$ index.php?rewriteurl=$1&$2 [L]
RewriteRule ^(.*)$ index.php?rewriteurl=$1 [QSA,L]
---------------------------------------
впринципе работает, но при обработке url не происходит прерывания [L], хотя должно.
т.е. если страница например
http://localhost/articles/xfiles/myth переходит в http://localhost/index.php?rewriteurl=articles/xfiles/myth но css стили на странице не отображаются, т.к. url
http://localhost/articles/xfiles/myth/css/new_style.css переходит в http://localhost/index.php?rewriteurl=css/new_style.css а должно быть http://localhost/css/new_style.css
может быть криво написал... не судите строго, просто помогите, я уже голову сдурил всё. 100% какойто мелкий глюк, но найти не магу...
заранее спасибо
