Помогите с mod_rewrite

igor_avr

Guest
Помогите с mod_rewrite

Приветствую.

Помогите пожалуйста правилтно сделать ЧПУ c помощью mod_rewrite.
Имеются ссылки вида:
http://www.site.com/index.php?ms=about
http://www.site.com/index.php?ms=about&ps=news

Нужно получить:
http://www.site.com/about/
http://www.site.com/about/news/

Буду очень благодарен. :)
 

Sir_J

Guest
А у тебя вот этих параметров --> ms=about&ps=news
всегда 1 или 2 или могет и поболе быть ?
 

igor_avr

Guest
Я смотрел и читал, но что-то у меня не выходит.
Я делал так:

RewriteEngine on
RewriteRule ^(.*)/$ index.php?ms=$1
RewriteRule ^(.*)/(.*)/$ index.php?ms=$1&ps=$2

Вроде всё ничего, но когда я захожу по этой ссылке index.php?ms=$1&ps=$2 теряется первая переменная. Если убрать RewriteRule ^(.*)/$ index.php?ms=$1, то получается нормально. Я просто не совсем это всё понимаю. Вот и спрашиваю у знающих, чтоб дальше разьиратся.

Sir_J, да. Только 2 случая. :)
 

Sir_J

Guest
igor_avr
по моему ты из
http://www.site.com/about/
http://www.site.com/about/news/

делаешь

http://www.site.com/index.php?ms=about
http://www.site.com/index.php?ms=about&ps=news

Или я чего то не понимаю ?
 

igor_avr

Guest
Sir_J, нет. Я делаю наоборот, но делаю что-то неправильно.
 

igor_avr

Guest
Не думаю, что так. Надеюсь знающие люди заглянут в эту темку.
 

Profic

just Profic (PHP5 BetaTeam)
телепатия моя мне подсказывает, что сей человек хочет чтобы mod_rewrite изменил его HTML-ки.

mod_rewrite изменяет только адреса запрашиваемых страниц, не более...
 

igor_avr

Guest
Profic, где написано что я хочу изменить какие либо хтмлки?
Имеются ссылки вида:
http://www.site.com/index.php?ms=about
http://www.site.com/index.php?ms=about&ps=news

Нужно получить:
http://www.site.com/about/
http://www.site.com/about/news/
Надо изменить именно адреса. Насколько я знаю это делается с помощью mod_rewrite. Вот и прошу помощи.
 

Profic

just Profic (PHP5 BetaTeam)
ключевое слово "ссылки". Что под ним подразумевалось?
Нужно чтобы при вводе
http://www.site.com/index.php?ms=about
открывалась
http://www.site.com/index.php?ms=about
А при вводе
http://www.site.com/about/news/
соответственно
http://www.site.com/index.php?ms=about&ps=news
Так?
 

igor_avr

Guest
Поменял. Результат тотже. Нормально перезаписывает только когда стоит что-то одно. Если вместе, то перезаписывает только RewriteRule ^(.*)/$ index.php?ms=$1.
 

Compote

Guest
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/(.*)/$ index.php?ms=$1&ps=$2 [L]
RewriteRule ^(.*)/$ index.php?ms=$1
 

Compote

Guest
на будущее
http://httpd.apache.org/docs-2.0/misc/rewriteguide.html
 

igor_avr

Guest
Спасибо.

А вот тут ещё вопрос возник. Таким вот образом перезаписывется всё и если создать реальную папку, то в неё не попасть. Вот можно как-нибудь сделать чтоб mod_rewrite не перезаписывал указанные папки?
 
Сверху