![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| listratov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.6.2011 Репутация: нет Всего: нет |
У меня имеется
site.ru/catalogue/gos/nalog/lk/ и мне нужно сделать, что бы ссылки имели вид site.ru/gos/nalog/lk/ site.ru/gos/nalog/ site.ru/gos/ Т.е. выкинуть /catalogue/ Используя так RewriteRule ^gos/(.*?)/(.*?)$ catalogue/gos/$1/$2 [L] и так RewriteRule ^(.*?)gos/(.*?)$ $1catalogue/gos?$2 работает, Но мне нужно, чтобы /gos/ подставлялась тоже маркером типа ^(.*?)/(.*?)/(.*?)$ catalogue/$1/$2/$3 [L] <- НО так не работает Подскажите, как сделать? |
|||
|
||||
| Arantir |
|
||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
А просто
чем не походит? Добавлено через 8 минут и 43 секунды
Конечно не работает. Ведь в gos/ один слеш, а в регулярке - два. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||
|
|||||
| listratov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.6.2011 Репутация: нет Всего: нет |
При ^(.*)$ catalogue/$1
Не открывается адрес site.ru/catalogue C одним слешем тоже #RewriteRule ^(.*?)(.*?)/(.*?)$ $1catalogue/$2?$3 или #RewriteRule ^(.*?)(.*?)/(.*?)$ $1catalogue/$2/$3 или #RewriteRule ^(.*?)(.*?)/(.*?)$ catalogue/$1/$2/$3 Все не работает Это сообщение отредактировал(а) listratov - 11.7.2013, 10:59 |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Надеюсь, знак комментария у Вас в примерах - это только опечатка. С ним то точно работать не будет. Вам только /gos/* перенаправлять нужно? Тогда просто
-------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| listratov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.6.2011 Репутация: нет Всего: нет |
Знак комментария не опечатка, а просто знак комментария, в рабочем примере, конечно его нет.
к сожалению мне не только gos/ нужно там таких как gos/ более 300 и расширяется... Вообще в идеале мне нужно вообще редирект с /catalog/podcatalog/podpodcatalog/f1 на /podcatalog/podpodcatalog/f1 /catalog/podcatalog/podpodcatalog/ на /podcatalog/podpodcatalog/ /catalog/podcatalog/ на /podcatalog/ /catalog/ и все, что после /catalog/ шло бы маркерами, т.к. там их мильон разных подкаталогов и каталогов Это сообщение отредактировал(а) listratov - 11.7.2013, 11:48 |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Только вот тогда на сайте, по сути, будут работать только скрипты для /catalogue/*, так как все на него перенаправляется. Проблема в том, что перенаправление идет задом наперед. То есть, если есть некий /something/, который не должен перенаправляться на /catalogue/something/, то иначе, как проверить все сотни вариантов, серверу не узнать, должен или не должен он туда перенаправляться. Это сообщение отредактировал(а) Arantir - 11.7.2013, 12:06 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| listratov |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.6.2011 Репутация: нет Всего: нет |
Эх... какой бы оптимальный вариант... что бы все работалo и редиректило...[R,L].... Это сообщение отредактировал(а) listratov - 11.7.2013, 14:30 |
||||
|
|||||
| Gromdron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.9.2006 Репутация: 1 Всего: 1 |
||||
|
||||
| listratov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.6.2011 Репутация: нет Всего: нет |
umi cms |
|||
|
||||
| listratov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.6.2011 Репутация: нет Всего: нет |
Грубо говоря сделал вот так
Это работает для всех подкаталогов то есть /catalogue/one/two/three/ Но так же будет работать и для ссылок, которых нет в правиле !/catalogue/|/news/|/go/|.... Не добавлять же каждый раз в RewriteCond %{REQUEST_URI} новую ссылку... Нужно что бы выполнялось только для /catalogue/one/two/three/, /catalogue/one/, /catalogue/one/two/ а для /catalogue/ не выполнялось правило. и для всех остальных, у которых нет в начале /catalogue/.. то же не выполнялось А редирект делаю в контроллере |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |