X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Помогите с .htaccess
ScoRpiO_hb
ScoRpiO_hb
Topic Starter сообщение 28.3.2012, 1:33; Ответить: ScoRpiO_hb
Сообщение #1


Доброго времени суток!
Подскажите, пожалуйста, вот столкнулся с необходимостью преобразования ссылок в адресной строке из вида:
http://site.by/index.php?category=novaya_k...d=noviy_element
в вид:
http://site.by/novaya_kategoriya/noviy_element

Подскажите, что нужно прописать в файле .htaccess, чтобы получить требуемый результат???
Заранее благодарен??
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
xdrew
xdrew
сообщение 28.3.2012, 10:56; Ответить: xdrew
Сообщение #2


Обычно делается наоборот, все ссылки приводятся к виду: http://site.by/novaya_kategoriya/noviy_element, а в .htaccess уже приводятся к вашему первому варианту. Это будет как-то так:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\/(.*)$ index.php?category=$1&id=$2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ScoRpiO_hb
ScoRpiO_hb
Topic Starter сообщение 28.3.2012, 12:38; Ответить: ScoRpiO_hb
Сообщение #3


(xdrew @ 28.3.2012, 13:56) *
Обычно делается наоборот, все ссылки приводятся к виду: http://site.by/novaya_kategoriya/noviy_element

Так я же и хочу привести к такому виду! =) В настоящий момент ссылки имеют вид: http://site.by/index.php?category=novaya_k...d=noviy_element


(xdrew @ 28.3.2012, 13:56) *
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\/(.*)$ index.php?category=$1&id=$2


че-то не пашет...(((
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 28.3.2012, 12:48; Ответить: r3ntg3n
Сообщение #4


RewriteEngine on

RewriteCond %{HTTP_REQUEST} !-f
RewriteRule ^(.*?)/(.*?)$ index.php?cat=$1&id=$2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ScoRpiO_hb
ScoRpiO_hb
Topic Starter сообщение 28.3.2012, 13:09; Ответить: ScoRpiO_hb
Сообщение #5


(r3ntg3n @ 28.3.2012, 15:48) *
RewriteEngine on

RewriteCond %{HTTP_REQUEST} !-f
RewriteRule ^(.*?)/(.*?)$ index.php?cat=$1&id=$2


И так не пашет...(((
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 28.3.2012, 13:18; Ответить: r3ntg3n
Сообщение #6


(ScoRpiO_hb @ 28.3.2012, 16:09) *
И так не пашет...(((

А вот и пашет. Я перед тем, как постить, проверил у себя на севрере. У вас в apache включен mod_rewrite? В конфиге виртуального хоста директива AllowOverride установлена в All? После внесения изменений в конфиги сервер перезагружали?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ScoRpiO_hb
ScoRpiO_hb
Topic Starter сообщение 28.3.2012, 13:35; Ответить: ScoRpiO_hb
Сообщение #7


(r3ntg3n @ 28.3.2012, 16:18) *
А вот и пашет.

нет, не пашет...(((
смотрите, я настроил таким образом:
Allow from all
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([a-z_0-9]+)$ index.php?category=$1 [QSA]


Т.е. ссылку вида: http://site.by/index.php?category=blabla преобразует в http://site.by/blabla. А как мне на базе этого сделать генерацию ссылок из http://site.by/index.php?category=blabla&id=hello в http://site.by/blabla/hello???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 28.3.2012, 13:43; Ответить: r3ntg3n
Сообщение #8


(ScoRpiO_hb @ 28.3.2012, 16:35) *
RewriteRule ^([a-z_0-9]+)$ index.php?category=$1 [QSA]

Из вашего же примера:
RewriteRule ^(a-z_0-9]+)/(a-z_0-9]+)$ index.php?category=$1&id=$2 [QSA]
Только имейте ввиду, если указать в адресной строке http://site.by/blAbLa, то rewrite не сработает, потому что вы сами указали только диапазон латинских букв в нижнем регистре
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ScoRpiO_hb
ScoRpiO_hb
Topic Starter сообщение 28.3.2012, 13:49; Ответить: ScoRpiO_hb
Сообщение #9


(r3ntg3n @ 28.3.2012, 16:43) *
Из вашего же примера:
RewriteRule ^(a-z_0-9]+)/(a-z_0-9]+)$ index.php?category=$1&id=$2 [QSA]

А вот здесь начинается самое интересное.... =)) НЕ РАБОТАЕТ!!!)))))


(r3ntg3n @ 28.3.2012, 16:43) *
Только имейте ввиду, если указать в адресной строке http://site.by/blAbLa, то rewrite не сработает, потому что вы сами указали только диапазон латинских букв в нижнем регистре

Это не проблема, т.к. можно указать регистр в параметре RewriteRule ^([a-z_A-Z0-9]+)$ index.php?category=$1 [QSA]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
xdrew
xdrew
сообщение 28.3.2012, 14:01; Ответить: xdrew
Сообщение #10


А что именно не работает?
Мне кажется, мы немного о разном говорим. Данные правила берут в браузере "красивую" строку, наподобие http://site.by/blAbLa и преобразуют в понятную серверу инструкцию с индексом и параметрами. Если вы хотите вводить в адрес вот такое http://site.by/index.php?category=novaya_k...d=noviy_element и чтобы там появилось http://site.by/novaya_kategoriya/noviy_element, то это уже не рерайт, а редирект и смысла в этом все равно не вижу особого, потому что, как правило, рерайтом эмулируются как раз человекопонятные урлы. Т.е. все ссылки на сайте надо писать в красивом виде типа http://site.by/blAbLa. А рерайт у меня тоже работает)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 692 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1695 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2315 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12399 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Как перенести правила переадресации из .htaccess в php обработчик nginx?
0 KrisGuseva 2084 28.12.2019, 7:33
автор: KrisGuseva


 



RSS Текстовая версия Сейчас: 28.3.2024, 17:57
Дизайн