Вернуться   SEO форум - оптимизация и продвижение сайтов > Web разработки > Программирование

Важная информация
Программирование - PHP, MySQL, JavaScript, CSS, HTML верстка и т.д.

Ответ
 
Опции темы Оценить тему Опции просмотра
Старый 18.11.2013, 20:39   #1
 
Аватар для guner
 
Сообщений: 13
FR (активность): 500

Доп. информация
По умолчанию Автор темы Помогите настроить friendly url через htaccess

Помогите настроить friendly url через 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, получая соответствующие параметры через редирект.

Какие записи внести в htaccess? совсем запутался с RedirectMatch, RewriteCond и иже с ними.
guner вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 18.11.2013, 21:28   #2
 
Аватар для newinseo
 
Сообщений: 295
FR (активность): 8,496

Доп. информация
По умолчанию

guner, попробуйте так:
Код:
RewriteEngine On
RewriteRule ^socialnoe/$ /socialnoe.php
RewriteRule ^socialnoe/([a-z-]+)/ $ /socialnoe.php?region=$1
RewriteRule ^socialnoe/([a-z-]+)/([a-z-]+)/$ /socialnoe.php?region=$1&gorod=$2
newinseo вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 18.11.2013, 21:30   #3
 
Аватар для guner
 
Сообщений: 13
FR (активность): 500

Доп. информация
По умолчанию Автор темы

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

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-шаблоне.


Цитата:
Сообщение от newinseo Посмотреть сообщение
guner, попробуйте так:
Код:
RewriteEngine On
RewriteRule ^socialnoe/$ /socialnoe.php
RewriteRule ^socialnoe/([a-z-]+)/ $ /socialnoe.php?region=$1
RewriteRule ^socialnoe/([a-z-]+)/([a-z-]+)/$ /socialnoe.php?region=$1&gorod=$2
newinseo, спасибо! Самое интересное, что я сам дошел до этого, и запостил ответ одновременно с тобой, но возникла другая проблема.

Сообщение добавлено 18.11.2013 в 22:02

Я понял почему 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/jak...atan/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 вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Ответ

Метки
css, friendly url, htaccess, чпу

Быстрый ответ
Ваше имя пользователя: Регистрация. Для входа нажмите здесь
Случайный вопрос

Сообщение:
Опции


Опции темы
Опции просмотра Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[ Личный опыт ] Защита сайта от вирусов и взлома через .htaccess upgreyt Безопасность 5 07.08.2017 09:06
Помогите с кодом 404 в файле .htaccess Toks Программирование 7 01.04.2013 00:01
правильный редирект через .htaccess для ботов x997 Администрирование серверов 1 15.06.2011 03:16
Как наладить виртуальные поддомены через htaccess? Пахарь Разработка сайтов 2 10.12.2010 17:47
правильно настроить .htaccess venegy Разработка сайтов 4 08.01.2009 11:20

Текущее время: 03:18. Часовой пояс GMT +3.