Не получается настроить виртуальные директории через .htaccess

stalker37
На сайте с 16.05.2008
Offline
164
624

Доброе время суток!

Подскажите, пожалуйста, по ЧПУ через .htaccess. Есть сайт, адреса для пользователей имеют вид /pagename.html, которые поступают к движку в виде /?id=pagename

RewriteEngine On
RewriteBase /
RewriteRule ^([^/\.]+)/?.html$ /?id=$1 [L]

Как сделать так, чтобы адреса типа /razdel/pagename.html поступали к движку в виде /?id=razdel_pagename или что-то типа того, чтобы название раздела и имя страницы соендинялись и к движку поступали в виде одной переменной?

Шаред и облачный хостинг, VPS (http://jino.ru/?par=stalker37)
дани мапов
На сайте с 06.09.2012
Offline
204
#1

Третью строку надо так:


RewriteRule ^([^\.]+)\.html$ /?id=$1 [L]

Будет в виде: /?id=razdel/pagename, но все-таки лучше 2 переменные использовать.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
stalker37
На сайте с 16.05.2008
Offline
164
#2

дани мапов, спасибо! Вариант подошел, но, действительно, с двумя переменными лучше будет. Не подскажете как сделать из /razdel/pagename.html что-то типа /?id=pagename&raz=razdel (/?raz=razdel&id=pagename)?

дани мапов
На сайте с 06.09.2012
Offline
204
#3


RewriteRule ^([^/]+)/([^/]+)\.html$ /?raz=$1&id=$2 [L]
stalker37
На сайте с 16.05.2008
Offline
164
#4

дани мапов, спасибо!

stalker37
На сайте с 16.05.2008
Offline
164
#5

Опять проблемка. Сейчас запросы обрабатывает следующая конструкция:

RewriteEngine On
RewriteBase /
RewriteRule ^([^/\.]+)/?.html$ /?id=$1
RewriteRule ^([^/]+)/([^/]+)\.html$ /?raz=$1&id=$2 [L]

С адресами всё нормально, но теперь другая проблема, с доступностью файлов. Например, картинки имеют вид /images/kartinka.jpg, и при обращении к страницам вида /news.html все нормально, но если обратиться через раздел, например, /news/news.html, то картинка становится недоступной, т.к. получает адрес /news/images/kartinka.jpg.

Сейчас добавил скрипт который при работе с директориями к адресу картинки добавляет "./", но это явно не лучшее решение.

Подскажите, пожалуйста, как можно решить эту проблему?

siv1987
На сайте с 02.04.2009
Offline
427
#6

Добавить к картинкам полные адреса http://site/images/image.gif или /images/image.gif

/ru/forum/comment/11337157

stalker37
На сайте с 16.05.2008
Offline
164
#7

siv1987, понятно, спасибо! Видимо действительно лучший выход из ситуации.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий