Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Небольшой вопрос по Mod Rewrite
 
 автор: (Sandr)   (05.08.2011 в 14:35)   письмо автору
 
 

Всем драсте)
Помогите пожалуйста решить такую задачу:
Есть строка вида http://сайт.ру/?select=article&name=имя
Где имя - имя статьи, которое может включать в себя английские и русские буквы, знаки подчёркивания " _ " и тире " - " .
Подскажите код для Mod Rewrite который будет преобразовывать выше названную строку в строку вида http://сайт.ру/имя
Заранее спасибо)

  Ответить  
 
 автор: cheops   (05.08.2011 в 14:38)   письмо автору
 
   для: (Sandr)   (05.08.2011 в 14:35)
 

В качестве индексного файла используется index.php? Лучше бы конечно, задействовать какую-то папку - в таком виде все URL будут подподать под правила и бесконечно преобразовываться.

  Ответить  
 
 автор: (Sandr)   (05.08.2011 в 15:02)   письмо автору
 
   для: cheops   (05.08.2011 в 14:38)
 

Да, индекс.пхп.
Ну, в таком случае, тогда лучше будет http://сайт.ру/articles/имя
Я встречал на некоторых сайтах подобную вещь (http://сайт.ру/имя), как у них тогда получилось так сделать?

  Ответить  
 
 автор: cheops   (05.08.2011 в 15:31)   письмо автору
 
   для: (Sandr)   (05.08.2011 в 15:02)
 

Можно начать отталкиваться от следующего набора правил
RewriteEngine on
RewriteBase /
RewriteRule ^article/(.*)$ /index.php?select=article&name=$1 [L]

  Ответить  
 
 автор: (Sandr)   (05.08.2011 в 18:04)   письмо автору
 
   для: cheops   (05.08.2011 в 15:31)
 

Спасибо)

  Ответить  
 
 автор: SK   (05.08.2011 в 18:35)   письмо автору
 
   для: (Sandr)   (05.08.2011 в 18:04)
 

И что действительно работает? По-моему, вам немного другое требовалось ;)

  Ответить  
 
 автор: cheops   (05.08.2011 в 18:39)   письмо автору
 
   для: SK   (05.08.2011 в 18:35)
 

У меня работает...

  Ответить  
 
 автор: SK   (05.08.2011 в 18:45)   письмо автору
 
   для: cheops   (05.08.2011 в 18:39)
 

Нужно из
http://сайт.ру/index.php?select=article&name=имя

получить
http://сайт.ру/имя

Верно?
У вас по-моему обратное действие...

  Ответить  
 
 автор: cheops   (05.08.2011 в 19:36)   письмо автору
 
   для: SK   (05.08.2011 в 18:45)
 

Вопрос в том, что вы подразумеваете под получением... лучше вообще этой терминологией не пользоваться. Есть строка
http://сайт.ру/index.php?select=article&name=имя
для неё вводится синоним
http://сайт.ру/имя
в конечном итоге и для первого и для второго адресов будет открываться содержимое первого адреса, при этом в адресной строке будет отображаться то, что там введено (либо первый, либо второй адрес).

  Ответить  
 
 автор: SK   (05.08.2011 в 19:44)   письмо автору
 
   для: cheops   (05.08.2011 в 19:36)
 

Под "получить" я имел в виду "преобразовать".

Есть строка вида http://сайт.ру/?select=article&name=имя
...
Подскажите код для Mod Rewrite который будет преобразовывать выше названную строку в строку вида http://сайт.ру/имя


Ваш рул работает для обратного условия.

  Ответить  
 
 автор: cheops   (05.08.2011 в 19:58)   письмо автору
 
   для: SK   (05.08.2011 в 19:44)
 

>Под "получить" я имел в виду "преобразовать".

Преобразовать в какую сторону? То что вы имеет в виду я понял, но вопрос задан не вами, и с 95% (Sandr) тоже что и я (а не то, что вы). Собственно в данном случае mod_rewrite в этом направлении нет смысла использовать (дополнительный параметр можно сгенерировать внутри скрипта), хотя это возможно.

  Ответить  
 
 автор: SK   (05.08.2011 в 20:04)   письмо автору
 
   для: cheops   (05.08.2011 в 19:58)
 

ОК, понял. Хотя странно как-то изъясняются товарищи здесь :) А вы их ещё и правльно понимаете...

  Ответить  
 
 автор: (Sandr)   (05.08.2011 в 22:10)   письмо автору
 
   для: SK   (05.08.2011 в 20:04)
 

Обычно я более правильно объясняю суть проблемы, но иногда бывает так, что немного не так формулирую вопрос...

  Ответить  
 
 автор: (Sandr)   (05.08.2011 в 22:09)   письмо автору
 
   для: cheops   (05.08.2011 в 19:58)
 

Извиняюсь, если что)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования