mod_rewrite и др. альтернативы

greg2k4

Guest
mod_rewrite и др. альтернативы

Для получения нормального адреса в адр. строке я пользуюсь mod_rewrite .
Многие делают это средствами PHP.

Каково ваше мнение:

1. какой способ вы используете
2. преимущества и недостатки каждого
 

shiko

Guest
http://spectator.ru/technology/php/user_friendly_urls

Я использую 4-й способ, но сказать, лучше он mod_rewrite или хуже не могу по причине незнания модреврайта.
 

Фанат

oncle terrible
Команда форума
Для того, чтобы узнать, что лучше, надо читать книжки, а не задавать вопросы на форумах.
 

crocodile2u

http://vbolshov.org.ru
Originally posted by shiko
http://spectator.ru/technology/php/user_friendly_urls
Ну вот, ситуация прояснилась: как и следовало ожидать, "средствами PHP" тут совершенно ни при чем...

Этот метод можно назвать "кастрированным реврайтом" - у mod_rewrite возможности шире, есть условия, флаги. А вообще, Фанат прав - проще тебе будет почитать про mod_rewrite, тем более что для того, чтобы начать им пользоваться, семи пядей во лбу быть не надо.

И еще - при использовании FilesMatch - переменные-то, как я понимаю, ниизя передавать в index.php ? То есть в скрипте можно только разбирать REQUEST_URI ? Вот тебе еще минус
 

greg2k4

Guest
Originally posted by crocodile2u
Ну вот, ситуация прояснилась: как и следовало ожидать, "средствами PHP" тут совершенно ни при чем...
Честно говоря, сам я давно пользуюсь (и буду пользоваться) mod_rewrite (т.е. 3й способ)

Просто есть люди, кот. "с пеной у рта" утверждают, что лучше делать "средствами PHP" , a rewrite, мол, слишком грузит сервер.

Что-ж, как я и думал, это скорее от незнания.

Всем спасибо.
 

slach

Новичок
ну не сказать чтобы mod_rewrite савсем НЕ ГРУЗИТ... процентов 5% отжирает
но выигрыш IMHO больше

Options MultiView
в
.htaccess будет более экономичным к ресурсам апача...
однако используя MultiViews нелья перенаправить все запросы на один скрипт...
 

Фанат

oncle terrible
Команда форума
Это скорее от упертости.
в превосходстве одного метода над другим в 100% случаев.
 

neko

tеam neko
а все потому что убогий пэхэпэ нельзя подвесить на фазу "translate path" :-/

мод_реврайту то, 100 лет в обед

И еще - при использовании FilesMatch - переменные-то, как я понимаю, ниизя передавать в index.php ?
какие еще переменные?
 

crocodile2u

http://vbolshov.org.ru
Неко, имелось в виду примерно следующее:
RewriteRule ^(.+)/(.+)$ index.php?var1=$1&var2=$2

И никто особо не говорил, что один способо лучше другого в ста % случаев. Уверен, есть задачи, где лучше применять тот же FilesMatch.
 

neko

tеam neko
т.е. по твоему если перекинуть экшином на скрипт, то переменные не передадутся? :)
 

crocodile2u

http://vbolshov.org.ru
Неко:
Я не разбирался подробно с организацией ЧПУ с помощью директивы FilesMatch и throw, но, насколько я понял, суть в следующем: мы имеем некий REQUEST_URI и редиректим определенные запросы на какой-то URL, а в скрипте разбираем REQUEST_URI + получаем GET-переменные. Но преобразовать части строки запроса в GET-переменные при таком подходе не можем. Если я неправ, или, может быть, как-то путано объясняю свою мысль, дай ссылку или сам объясни хоть в двух словах. У меня такое впечатление, что в данном случае мы просто говорим о разных вещах.
 

fixxxer

К.О.
Партнер клуба
Всю жизнь пользовал способ с FilesMatch, но нарвался на то, что он не работает на 2-м апаче. :/ Пришлось отказаться.

А так-то FilesMatch во многих случаях удобнее. По крайней мере,
я не очень понимаю, что все так привязались к GET-переменным. Я прекрасно обхожусь без них вообще.

Не думаю, что строка $params = explode('/',$_SERVER['REQUEST_URI'] сильно грузит сервер... ;)
 

crocodile2u

http://vbolshov.org.ru
В общем, тред в какой-то мере действительно скатился во флуд :)

Итак, вроде решено: как организовать ЧПУ - дело вкуса, поставленной задачи, возможностей и настроек сервера.
 
Сверху