[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите исправить mod_rewrite rule
ola_sh
Нужно из site.com/index.php?c=journal&id=136 получить site.com/journal136
Написал такое правило для htaccess, но оно не работает, подскажите пожалуйста как должно выглядить правило?
RewriteRule ^journal([0-9])$ index.php?c=journal&id=$1 [L]

Заранее спасибо




Спустя 11 минут, 43 секунды (24.09.2012 - 12:20) dron4ik написал(а):
RewriteRule ^/journal([0-9]*)$ index.php?c=journal&id=$1

Спустя 6 минут, 46 секунд (24.09.2012 - 12:27) ola_sh написал(а):
Цитата (dron4ik @ 24.09.2012 - 09:20)
RewriteRule ^/journal([0-9]*)$ index.php?c=journal&id=$1

Не работает, второе правило конфликтует с первым, пишет что такого пользователя не существует, а это ответ скрипта на доступ к странице пользователя по нику, т.е. сервер полагает что journal137 - это никнейм пользователя.

RewriteEngine On
RewriteBase /
RewriteRule ^(\w+)$ ?c=profile&n=$1 [L]
RewriteRule ^/journal([0-9]*)$ index.php?c=journal&id=$1

Options -Indexes

Вот так выглядит мой htaccess, как можно исправить?

Спустя 2 минуты, 40 секунд (24.09.2012 - 12:30) dron4ik написал(а):
RewriteRule ^(\w+)$ ?c=profile&n=$1 [L]

Что должно дать сеё правило?

RewriteRule ^(\w+)$ index.php?c=profile&n=$1 [L] и поменять местами



RewriteEngine On
RewriteBase /
RewriteRule ^/journal([0-9]*)$ index.php?c=journal&id=$1
RewriteRule ^/(\w+)$ index.php?c=profile&n=$1

Options -Indexes

Пробуй так!

Спустя 2 минуты, 48 секунд (24.09.2012 - 12:32) dron4ik написал(а):
RewriteRule ^/([_a-zA-Z]*)([0-9]*)$ index.php?c=$1&id=$2

А не проще написать одно правило для всех схожих типов построения урла???

Спустя 13 минут, 25 секунд (24.09.2012 - 12:46) dadli написал(а):
ola_sh
а ви уверенн что из етого site.com/index.php?c=journal&id=136 хотите получить ето: site.com/journal136

кожется вам слеш не хватает между параметрами и вам нужно site.com/journal/136

не так? если да то прибуите:
RewriteRule index.php/([a-z]+)/(\d+) index.php?c=$1&id=$2

Спустя 1 час, 6 минут, 54 секунды (24.09.2012 - 13:53) ola_sh написал(а):
Цитата (dadli @ 24.09.2012 - 09:46)
ola_sh
а ви уверенн что из етого site.com/index.php?c=journal&id=136 хотите получить ето: site.com/journal136

кожется вам слеш не хватает между параметрами и вам нужно site.com/journal/136

не так? если да то прибуите:
RewriteRule index.php/([a-z]+)/(\d+) index.php?c=&id=

Дает 404 ошибку (

Спустя 37 минут, 27 секунд (24.09.2012 - 14:30) dadli написал(а):
RewriteRule ([a-z]+)/(\d+) index.php?c=$1&id=$2

Спустя 35 минут, 21 секунда (24.09.2012 - 15:05) dron4ik написал(а):
RewriteRule ^/([a-z]+)/(\d+)$ index.php?c=$1&id=$2

Спустя 2 часа, 48 минут, 42 секунды (24.09.2012 - 17:54) ola_sh написал(а):
Не ребят, не пашет sad.gif
Нельзя никак сделать чтобы сервер распознавал url:

site.com/journal123 - урл журнала, т.е. второе правило не входило в конфликт с первым:

1)RewriteRule ^(\w+)$ ?c=profile&n=$1 [L]
2)RewriteRule ^/([_a-zA-Z]*)([0-9]*)$ index.php?c=$1&id=$2

Спустя 18 часов, 18 минут (25.09.2012 - 12:12) dron4ik написал(а):
Цитата (ola_sh @ 24.09.2012 - 14:54)
Не ребят, не пашет sad.gif
Нельзя никак сделать чтобы сервер распознавал url:

site.com/journal123 - урл журнала, т.е. второе правило не входило в конфликт с первым:

1)RewriteRule ^(\w+)$ ?c=profile&n=$1 [L]
2)RewriteRule ^/([_a-zA-Z]*)([0-9]*)$ index.php?c=$1&id=$2


2)RewriteRule ^/([_a-zA-Z]*)([0-9]*)$ index.php?c=$1&id=$2
1)RewriteRule ^(\w+)$ ?c=profile&n=$1 [L]

Ты так пробовал????????(Местами менял?)

Спустя 2 дня, 2 часа, 36 минут, 53 секунды (27.09.2012 - 14:49) ola_sh написал(а):
Проблему решил smile.gif

RewriteEngine On
RewriteBase /
RewriteRule ^journal([\d]+)$ /index.php?c=journal&id=$1 [L]
RewriteRule ^(\w+)$ ?c=profile&n=$1 [L]


Options -Indexes

Спустя 21 час, 2 минуты, 9 секунд (28.09.2012 - 11:51) dron4ik написал(а):
Цитата (ola_sh @ 27.09.2012 - 11:49)
Проблему решил smile.gif

RewriteEngine On
RewriteBase /
RewriteRule ^journal([\d]+)$ /index.php?c=journal&id=$1 [L]
RewriteRule ^(\w+)$ ?c=profile&n=$1 [L]


Options -Indexes

Неужели поменял местами?)))

ТО что я и говорил в самом начале
RewriteRule ^/journal([0-9]*)$ index.php?c=journal&id=$1
RewriteRule ^/(\w+)$ index.php?c=profile&n=$1


_____________
С Уважением ola_sh
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.