| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 24.08.2003
Сообщения: 60
![]() |
mod_rewrite (вопрос)
Пожалуйста помогите,
ндо срочно сделать, а разобраться не могу ((( Задача в слудующем: есть: pub.php?l=rus&linkpage=hotels&linkpage2=fadaer&linkpage3=mosv&idpub=56 7 Надо сделать: rus/hotels/fadaer/mosv/567/ Делаю в htacess так: RewriteEngine on Options +FollowSymlinks RewriteRule ^rus/(.*)?/?$ pub.php?l=rus&linkpage=$1&linkpage2=$2&linkpage3=$3&idpub=$4 [L] а не работает ((( |
|
|
|
|
# 2 |
|
Junior Member
Регистрация: 24.04.2004
Сообщения: 66
![]() ![]() |
[офф]
Можно и не через mod_rewrite, а средствами php Как вариант вот пример: if ($PATH_INFO) { $path=ereg_replace('^/','?',$PATH_INFO); $path=preg_replace("!\?(.*?)/!si","&\\1=",$path); $path=preg_replace("!/(.*?)/(.*?)!si","&\\1=\\2",$path); parse_str($path); } а ссылки имеют вид: http://site.com/index.php/contacts/our - к примеру только не везде апач передает скрипту эту переменную $PATH_INFO, всмысле не на всех серверах. На апаче2 я так и не смог сделать это, на первом все ок.
__________________
даже если спирт замерзнет - буду грызть его зубами. Все-равно его не прошу потому, что он хороший |
|
|
|
|
# 3 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RewriteRule rus/(.*)?/(.*)?/(.*)?/(.*)?/(.*)?/?$ pub.php?l=rus&linkpage=$1&linkpage2=$2&linkpage3=$3&idpub=$4
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 5 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Незнаю, я проверил (до того как постить, и сейчас еще раз) - все работает как надо.
А вообще у тебя Mod_Rewrite включен, работает?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. Последний раз редактировалось Hubbitus; 31.01.2005 в 03:34. |
|
|
|
|
# 6 |
|
Junior Member
Регистрация: 24.08.2003
Сообщения: 60
![]() |
Hubbitus
Да извиняюсь, работает все но: RewriteRule ^rus/(.*)?/(.*)?/(.*)?/(.*)?/?$ /pub.php?l=rus&linkpage=$1&linkpage2=$2&linkpage3=$3&idpub=$4 [L] ссылки типа www.vbvb.com/rus/about/info/more/1/ - работают, , а www.vbvb.com/rus/about/info/ - уже нет ((( мне надо допустим чтоб www.vbvb.com/rus/about/11/ и открывалась pub.php?l=rus&linkpage=about&linkpage2=linkpage3=&idpub=11 как это сделать? |
|
|
|
|
# 7 | |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
|
# 8 |
|
Junior Member
Регистрация: 24.08.2003
Сообщения: 60
![]() |
Hubbitus
если я правильно понял, то это: www.vbvb.com/rus/1/more/about/ ? в таком случае пропадает смысл ЧПУ.. |
|
|
|
|
# 9 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Какой ЧПУ? И почему пропадет смысл? Ничего не понял.
Ну еще как вариант конечно можно передавать как у меня было, только все сделать необязательным, а в скрипте уже искать последний непустой параметр и принимать его за idpub. Такой путь мне кажется менее правильным, чем предложенный до этого.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 10 | |
|
::VIP::
IMHO Молодожен-2006 Регистрация: 14.06.2002
Адрес: Moscow
Сообщения: 2 921
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
плиз, приведи пример, а то самому теперь надо, чтобы pub.php?l=rus в rus pub.php?l=rus&linkpage=about в rus/about pub.php?l=rus&linkpage=about&linkpage2=ours в rus/about/ours и т.д. всего 4 таких переменных. работает только, когда все 4 переменные присутсвуют ![]() Спасибо. |
|
|
|
|
|
# 12 | ||
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
RewriteRule ^rus/(.*)?(/.*)?(/.*)?(/.*)?/?$ Цитата:
RewriteCond %{REQUEST_FILENAME} !^.*(/admin.php|/view.php)$ Ну или наоборот, включи только для конкретного(ых), например так: RewriteCond %{REQUEST_FILENAME} ^.*(/index.php)$ Ну естественно RewriteCond должен стоять до RewriteRule.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
||
|
|
|
|
# 13 | ||
|
::VIP::
IMHO Молодожен-2006 Регистрация: 14.06.2002
Адрес: Moscow
Сообщения: 2 921
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
RewriteRule ^ cat/(.*)?(/.*)?(/.*)?(/.*)?/?$ index.php?cat=$1&subcat=$2&subcat2=$3&art=$4 Цитата:
Последний раз редактировалось hempsmoke; 28.04.2005 в 12:03. |
||
|
|
|
|
# 14 | |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
RewriteRule ^cat/([^/]*)?/?([^/]*)?/?([^/]*)?/?$ /index.php?cat=$1&subcat=$2&subcat2=$3&art=$4 [L] Ну и скольку угодно можно прописать их так, хоть 100 параметров возможных и необязательных.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
|
# 16 | |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Приведи что ты написал конкретно, и на чем тестируешь что не работает.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
|
# 17 |
|
::VIP::
IMHO Молодожен-2006 Регистрация: 14.06.2002
Адрес: Moscow
Сообщения: 2 921
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
вот это прописано и .htaccess
Код:
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !\.(swf)|(jpg)|(png)|(gif)|(pcx)$
RewriteCond %{REQUEST_FILENAME} !^.*(/admin.php|/view.php)$
RewriteRule ^cat/([^/]*)?/?([^/]*)?/?([^/]*)?/?$ /index.php?cat=$1&subcat=$2&subcat2=$3&art=$4 [L]
Выдает 404. |
|
|
|
|
# 18 | |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
|
# 19 |
|
Junior Member
Регистрация: 25.12.2002
Сообщения: 114
![]() ![]() |
Насчет проблемы что если не все параметры - то не работает....
Тут есть одна хистрость - заключается она в порядке расположения строчке в htaccess Порядок должен быть такой : строка с урлом шде параметров очень много потом строка где параметров меньше потом строка где параметров еще меньше строка где параметров вообще нету И тогд все будет пучком...
__________________
PHP+MySQL |
|
|
|
|
# 20 |
|
Junior Member
Регистрация: 19.04.2002
Адрес: Дом
Пол: Male
Сообщения: 187
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А не проще ли передавать в скрипт поный путь, а потом просто разбивать и анализировать его вручную?
.htaccess: Код:
RewriteRule rus/(.*) pub.php?path=$1 [L]
__________________
Дураки не динозавры - они не вымрут... |
|
|