в общем на сайте ссылки вида:
http://site.ru/?str=cabinet
как сделать, чтоб при заходе на:
http://site.ru/index.php?str=cabinet (те если в адресной строке есть index.php + get запрос - переадресовывть, а если просто /get запрос - то пропускать) - срабатывал редирект на главную?
сделал редирект с index.php на /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
но при гет запросах к индеку - эта фича не катит...
***
и еще:
почему не катит:
RewriteRule ^?str=chat$ chat.php [L], а без вопроса катит... но мнеж надо чтоб http://site.ru/?str=chat (именно с вопросом (?str, а не просто str)) обращался к http://site.ru/chat.php
Привет народ, такой вопрос.
Хочу я преобразовывать адреса таким образом:
site.ru/?key=ololo -> site.ru/ololo
Собственно, сделал, но нужно, чтобы если существует уже папка с именем, запрашиваемым в key, то выводилось ее содержимое, а не передавалось управление в index.php.
Вот код:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9-_]+)$ index.php?key=$1
Popelis, содержимое папки выводится с помощью скрипта. Модуль mod_rewrite нужен только для того, что бы построить желаемый маршрут URL.
07 Апр 2013, 15:22Popelis,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f // для файлов
RewriteCond %{REQUEST_FILENAME} !-d // для папок
RewriteRule ^([a-zA-Z0-9-_]+)$ index.php?key=$1
Ребята, подскажите пжл как можно сделать ссылку ввида touch.php?id=10&id_mess=11&answer
на touch/10/11/answer
Заранее спасибо, делал так
RewriteRule ^touch/([0-9]*)/([0-9]*)/([0-9]*)/answer touch.php?id=$1&id_mess=$2&answer [L,QSA]
не работает((( переменные индефикаторов путаются(( не пойму почему(
exelente, лишнее ([0-9]*) мб
[php:1:a74714d3a0]RewriteRule ^touch/([0-9]*)/([0-9]*)/answer touch.php?id=$1&id_mess=$2&answer [L,QSA][/php:1:a74714d3a0]
Как два правила выполнить одновременно?
Нужно для движка drupal , есть его обычное правило + нужно написать еще одно правило
Okula, у drupal-а есть свои правила mod rewrite:
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
мне нужно добавить свое правило, чтоб адрес content/portfolio/$1 заменялся node/100/[0-9]
написал правило
RewriteRule ^content/portfolio.html/([0-9]) node/100/$1 - сайт начал сильно тормозить , установил для него флаг L, тогда правило drupal-а не работает
RewriteRule ^content/portfolio\.html/([0-9]+)/?$ node/100/$1 [L]
Выше правила
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]