RewriteEngine On
RewriteRule \.css$ /css.php [L,QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)\.(html|htm)$ /?mod=$1&view=$2 [L,QSA]
Mod Rewrite. как обрезать get?
Код:
при http://example/news/sdfsfsd.html
получаем Array ( [mod] => news [view] => sdfsfsd )
при http://example/news/sdfsfsd.html?mod=sdf
получаем Array ( [mod] => sdf [view] => sdfsfsd )
кто знает как "срезать" лишнии данные?
еще вопрос и/или дополнение, как отловить появление ?=........? чтоб перенаправить на стр. с ошибкой.
PS (Upd1): хмм, не пойдёт (я ошибся по поводу QSA потому, что этот ключ используется если ты с помощью правил добавляешь параметры в строку запроса... вроде бы, опять сомневаюсь :)). наверное просто стоит проверить на ? в строке запроса
на вскидку
Код:
RewriteCond %{REQUEST_URI} ^.+\?.+$
RewriteRule ^([^\?]+)\?.*$ /$1 [NC]
RewriteRule ^([^\?]+)\?.*$ /$1 [NC]
Upd2: http://htaccess.net.ru/doc/mod_rewrite/RewriteRule.php
так GET не передается дальше, просто нужен метод, который очишал GET перед RewriteRule, но POST не трогал.
дык ты вставь эти правила ПЕРЕД обработкой в mod_rewrite... или я тебя не понимаю :)
Код:
<Files ".htpasswd">
Order Deny,Allow
Deny from all
</Files>
# Óñòàíîâêà å-mail àäìèíèñòðàòîðà:
SetEnv SERVER_ADMIN ...@gmail.com
RewriteEngine On
#RewriteCond %{REQUEST_URI} ^.+\?.+$
#RewriteRule ^(.*)$ /index.php?error=404 [NC]
RewriteRule \.css$ /css.php [L,QSA]
RewriteRule \.(gif|png|jpe?g|bmp|tif|rar|zip|gz|bz2|js|php)$ - [L]
RewriteRule ^(.*)$ /index.php?url=$1 [L[COLOR="Silver"],QSA[/COLOR]]
Order Deny,Allow
Deny from all
</Files>
# Óñòàíîâêà å-mail àäìèíèñòðàòîðà:
SetEnv SERVER_ADMIN ...@gmail.com
RewriteEngine On
#RewriteCond %{REQUEST_URI} ^.+\?.+$
#RewriteRule ^(.*)$ /index.php?error=404 [NC]
RewriteRule \.css$ /css.php [L,QSA]
RewriteRule \.(gif|png|jpe?g|bmp|tif|rar|zip|gz|bz2|js|php)$ - [L]
RewriteRule ^(.*)$ /index.php?url=$1 [L[COLOR="Silver"],QSA[/COLOR]]
спасибо за ман:)