Вернуться   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, чпу

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

Сообщение:
Опции
Внимание!
Этой теме более 1856 дней. Вы можете оставить сообщение здесь. Но, обращаем внимание. Возможно, рациональней создать новую тему (найти свежее обсуждение)?


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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[ Личный опыт ] Защита сайта от вирусов и взлома через .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

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