Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Mod Rewrite. как обрезать get?

714
11 декабря 2008 года
clgs
226 / / 29.10.2008
к примеру, файл .htaccess
 
Код:
RewriteEngine On
RewriteRule \.css$ /css.php [L,QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)\.(html|htm)$ /?mod=$1&view=$2 [L,QSA]

при http://example/news/sdfsfsd.html
получаем Array ( [mod] => news [view] => sdfsfsd )
при http://example/news/sdfsfsd.html?mod=sdf
получаем Array ( [mod] => sdf [view] => sdfsfsd )
кто знает как "срезать" лишнии данные?
714
11 декабря 2008 года
clgs
226 / / 29.10.2008
еще вопрос и/или дополнение, как отловить появление ?=........? чтоб перенаправить на стр. с ошибкой.
92
11 декабря 2008 года
Тень Пса
2.2K / / 19.10.2006
убери QSA и почитай ман по mod_rewrite

PS (Upd1): хмм, не пойдёт (я ошибся по поводу QSA потому, что этот ключ используется если ты с помощью правил добавляешь параметры в строку запроса... вроде бы, опять сомневаюсь :)). наверное просто стоит проверить на ? в строке запроса

на вскидку
 
Код:
RewriteCond %{REQUEST_URI} ^.+\?.+$
RewriteRule ^([^\?]+)\?.*$ /$1 [NC]


Upd2: http://htaccess.net.ru/doc/mod_rewrite/RewriteRule.php
714
12 декабря 2008 года
clgs
226 / / 29.10.2008
так GET не передается дальше, просто нужен метод, который очишал GET перед RewriteRule, но POST не трогал.
92
12 декабря 2008 года
Тень Пса
2.2K / / 19.10.2006
пост он и не тронет

дык ты вставь эти правила ПЕРЕД обработкой в mod_rewrite... или я тебя не понимаю :)
714
12 декабря 2008 года
clgs
226 / / 29.10.2008
убрал QSA, заработало, сейчас так
Код:
<Files ".htpasswd">
Order Deny,Allow
Deny from all
</Files>

# &#211;&#241;&#242;&#224;&#237;&#238;&#226;&#234;&#224; &#229;-mail &#224;&#228;&#236;&#232;&#237;&#232;&#241;&#242;&#240;&#224;&#242;&#238;&#240;&#224;:
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]]

спасибо за ман:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог