спасибо! работает! а для такого случая: site.ru/index.php?param1=value1¶m2=value2¶m3=value3 ... для неопределённого кол-ва параметров можно настроить mod rewrite или нужно прописать RewriteRule для одного параметра, для двух, для трёх и так далее?
както не вникал. делал по-простому - просто указывал альтернативный вариант. Больше 2-3х вариантов возможных похожих урлов не было, потому ничего умного тут не посоветую - на каждый по правилу. вроде можно сделать костыль, чтобы недостающие параметры были пустыми и всегда отправлять, скажем, 10 параметров в строке, из которых только часть будет с установленными значениями.
Получился вот такой универсальный mod rewrite на 9-ть параметров, думаю хватит... как получить 10-ый не знаю Код (Text): RewriteEngine On RewriteRule ^([a-zA-Z0-9]+)$ index.php?p1=$1 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2&p3=$3 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2&p3=$3&p4=$4 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5&p6=$6 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5&p6=$6&p7=$7 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5&p6=$6&p7=$7&p8=$8 [L] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5&p6=$6&p7=$7&p8=$8&p9=$9 [L] код проверки: Код (Text): <?php echo $_GET["p1"]."<br>".$_GET["p2"]."<br>".$_GET["p3"]."<br>".$_GET["p4"]."<br>".$_GET["p5"]."<br>".$_GET["p6"]."<br>".$_GET["p7"]."<br>".$_GET["p8"]."<br>".$_GET["p9"]; ?>
Можно одной строчкой примерно так Код (Text): RedirectMatch pages/([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?$ index.php?a=$1\&b=$2\&c=$3\&d=$4\&e=$5\&f=$6
Может, потому, что нужно в конце полный адрес указывать. Вот полностью строка, как у меня было Код (Text): RedirectMatch tren/ht/pages/([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?([0-9a-zA-Z]*)/?$ http://localhost/tren/ht/?a=$1\&b=$2\&c=$3\&d=$4\&e=$5\&f=$6
совершенно не то что надо... твой код просто делает редирект на Код (Text): index.php?a=php&b=&c=&d=&e=&f= а мне, естественно, нужно остаться здесь Код (Text): site.ru/a/b/c/d/e/f
ужас какой. вот потому что надо было изначально писать под правило Код (Text): <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^.*$ index.php [L,QSA] </IfModule> и парсить $_SERVER['REQUEST_URI']
igordata неплохая идея! допустим, я взял её на вооружение... а как теперь сделать при вызове site.ru обращение не к index.php, а, например, /catalog/myengine.php ?
если есть такой путь, то такой mr даст туда обратиться. при необходимости, можно сделать еще сколько-либо преобразований уже после RewriteRule ^.*$ index.php [L,QSA]
mod_rewrite: избавляемся от двойных слэшей Приветствую, профессионалов! Возник вопрос как в url избавиться от двойных слэшей, то есть при помощи mod_rewrite осуществить 301-й редирект с www.domen.com/news//2011/ на www.domen.com/news/2011/ Уважаемые, подскажите пожалуйста конструкцию для mod_rewrite, а то никак не могу найти. Заранее спасибо!
Razer по идее оба урл-а будут работать нормально, но это по идее. имхо, легче исправить место, где эти два несчастных слеша генерируются
Оба урла будут работать, спору нет, но дело в эстетике. Кроме того такая "ошибка" может возникнуть при ручном вводе (двойное нажатие), в отношении не только слэшей, но и в отношении, например, точек. А если это предусмотреть, то будет такой косяк исправляться автоматически, и это есть гуд. Отсюда и вопрос возник. Может быть я конечно и замарачиваюсь по мелочам, но всегда хочется, чтобы все было идеально
to Gromo я не спрашивал хочется вам или не хочется занивматься ерундой, я просил помочь с конструкцией для мод-реврайт, и обосновал зачем мне это нужно. Если вы не знаете как это сделать, не пишите уж лучше вообще. Количество сообщений у вас и так большое
ты спросил я ответил на твой вопрос а кол-во моих сообщений не должно волновать никого, кроме меня самого.
ой, не разводите хоррор, в троллинге с вами соревноваться я не собираюсь _________________ Слово - серебро, молчание - золото.