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



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Проблема с путями при редиректе htaccess и ЧПУ
guner
guner
Topic Starter сообщение 18.11.2013, 23:19; Ответить: guner
Сообщение #1


Новичок
*

Группа: Viewer
Сообщений: 6
Регистрация: 17.9.2013
Поблагодарили: 0 раз
Репутация:   0  


Проблема с путями при редиректе htaccess и ЧПУ

Файл socialnoe.php использует tpl-шаблон.
Есть файл socialnoe.php, он ответственен за выдачу посетителю информации.
Чтобы было удобнее, решил сделать friendly url.

site.ru/socialnoe/ редиректит на site.ru/socialnoe.php (выводит список регионов).
site.ru/socialnoe/jakutia/ (редиректит на site.ru/socialnoe.php?region=jakutia и выдает список городов республики Якутия)
site.ru/socialnoe/jakutia/jakutsk (редиректит на site.ru/socialnoe.php?region=jakutia&gorod=jakutsk (выводит форму для подсчета в городе Якутск)

То есть в данном случае папок /jakutia/jakutsk и /jakutia/ (и соответственно html-файлов) - физически не существует, а html-страницу отдает файл site.ru/socialnoe.php, получая соответствующие параметры через редирект.

Кое-что начало получаться
при обращении http://localhost/house/socialnoe/jakutsk/jatan

Код htaccess такой
RewriteEngine on
RewriteRule ^socialnoe/?$ socialnoe1.php?region=$1 [NC,L]
RewriteRule ^socialnoe/([a-z]+)/?$ socialnoe1.php?region=$1 [NC,L]
RewriteRule ^socialnoe/([a-z]+)/([a-z]+)/?$ socialnoe1.php?region=$1&gorod=$2 [NC,L]

выводит в php-скрипте $_GET['region']."_".$_GET['gorod'] вот это jakutsk_jatan

вроде бы всё работает, но одно но: css не подключается в tpl-шаблоне.


Я понял почему css не подключается в tpl-шаблоне.
К примеру, я вводу в браузере одно из трех
http://localhost/house/socialnoe/jakutsk/jatan/
http://localhost/house/socialnoe/jakutsk/
http://localhost/house/socialnoe/

Соответственно htaccess (указан выше) редиректит на socialnoe1.php,
в php-скрипте код $index = file_get_contents("index.tpl");
загружает шаблон.

В index.tpl код <link rel="stylesheet" type="text/css" href="style.css" />

При http://localhost/house/socialnoe/jakutsk/jatan/
в index.tpl считается что style.css лежит в http://localhost/house/socialnoe/jakutsk/jatan/style.css
но на самом деле он лежит в http://localhost/house/style.css

Вышел из этой ситуации таким образом:
просто прописал в index.tpl
<link rel="stylesheet" type="text/css" href="../../../style.css" />
<link rel="stylesheet" type="text/css" href="../../style.css" />
<link rel="stylesheet" type="text/css" href="../style.css" />
<link rel="stylesheet" type="text/css" href="style.css" />

или можно прописать <link rel="stylesheet" type="text/css" href="http://localhost/house/style.css" />
Таким образом, одно из css всегда "подхватится".
Но вопрос: как сделать красивое решение, а не этот костыль?

Сообщение отредактировал guner - 18.11.2013, 23:22
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Переносится ли вес и тИЦ от входящих ссылок при 301 редиректе
11 Bel_Ami 2893 11.12.2017, 20:50
автор: alexandrrr
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыОшибка при создании шаблона страницы ВП
Нет картинок
5 semarg 696 9.12.2017, 15:36
автор: Nell
Горячая тема (нет новых ответов) 300 площадок под вечные ссылки на выбор: ТИЦ 20-9400, PR 0-6, ЯК, DMOZ. Скидки при пакетном заказе!
61 inkon 13975 7.12.2017, 20:28
автор: inkon
Горячая тема (нет новых ответов) Apple признала: Экран iPhone X отказывает при температуре ниже нуля
46 Astralis 3351 26.11.2017, 1:35
автор: Стэнли
Открытая тема (нет новых ответов) Проблема индексации в Google
12 Saitcena 2942 22.11.2017, 17:34
автор: metvekot


 



RSS Текстовая версия Сейчас: 14.12.2017, 0:58
Дизайн