Есть разделы сайта:
Сайт: site.ru/index.php
Новости: site.ru/index.php?act=news
Контакты: site.ru/index.php?act=contacts
Помогите настроить файл .htaccess
Ссылки на сайте имеют такой вид
<a href="/">Главная</a>
<a href="/news">Новости</a>
<a href="/contacts">Контакты</a>
Мне надо чтобы адрес бал такой.
site.ru
site.ru/news/
site.ru/contacts/
Спустя 32 минуты, 42 секунды (4.02.2010 - 12:17) phz написал(а):
Пример .htaccess:
# или так:
Полезные цылки:
http://www.htaccesstools.com/
http://htaccess.net.ru/
RewriteEngine On
# ЧПУ для ссылки на страницу новостей
RewriteRule ^news/$ index.php?act=news [L]
# ЧПУ для ссылки на страницу контактов
RewriteRule ^contacts/$ index.php?act=contacts [L]
# или так:
RewriteEngine On
# ЧПУ для ссылки на страницу новостей
RewriteRule ^news.html$ index.php?act=news [L]
# ЧПУ для ссылки на страницу контактов
RewriteRule ^contacts.html$ index.php?act=contacts [L]
Полезные цылки:
http://www.htaccesstools.com/
http://htaccess.net.ru/
Спустя 14 минут, 48 секунд (4.02.2010 - 12:32) baston написал(а):
phz, прошу прощения, а не наоборот ли нужно разместить исходный путь и заменяющий? Это вопрос-уточнение, а не поправка....
Ведь синтаксис у RewriteRule такой:
RewriteRule "исходный путь" "замена" "флаги"
Ведь синтаксис у RewriteRule такой:
RewriteRule "исходный путь" "замена" "флаги"
Спустя 3 минуты, 44 секунды (4.02.2010 - 12:36) max_prog2010 написал(а):
phz
А вопросик ещё. Тогда ссылки надо прописывать я так понимаю ко всем картинкам и прилинкованным файлам с самого начала?
<link href="http://site.ru/style.css" type=text/css rel=stylesheet>
<script type="text/javascript" src="http://site.ru/js/jquery.js"</script>
background="http://site.ru/images/shapka2.jpg
и тд
я верно понял?
Раньше я не писал полный путь (например images/shapka2.jpg ),
а теперь если его не прописать то сервер видит дирректорию как бы новую а в ней пусто.
А вопросик ещё. Тогда ссылки надо прописывать я так понимаю ко всем картинкам и прилинкованным файлам с самого начала?
<link href="http://site.ru/style.css" type=text/css rel=stylesheet>
<script type="text/javascript" src="http://site.ru/js/jquery.js"</script>
background="http://site.ru/images/shapka2.jpg
и тд
я верно понял?
Раньше я не писал полный путь (например images/shapka2.jpg ),
а теперь если его не прописать то сервер видит дирректорию как бы новую а в ней пусто.
Спустя 4 минуты, 51 секунда (4.02.2010 - 12:40) phz написал(а):
Да пропиши полные ссылки. К примеру так (или как душе угодно):
define('HOST', 'http://'.$_SERVER['HTTP_HOST'].'/');
echo '<script type="text/javascript" src="'.HOST.'js/jquery.js"</script>';
Спустя 2 минуты, 57 секунд (4.02.2010 - 12:43) phz написал(а):
Цитата (baston @ 4.02.2010 - 09:32) |
phz, прошу прощения, а не наоборот ли нужно разместить исходный путь и заменяющий? Это вопрос-уточнение, а не поправка.... Ведь синтаксис у RewriteRule такой: RewriteRule "исходный путь" "замена" "флаги" |
Да нет, всё правильно. По ссылками можно почитать... Вот сейчас как раз пишу сайт, и рабочий пример:
RewriteRule ^government.html$ index.php?mod=government [L]
Всё работает. Хотя могу ошибаться...
Спустя 10 минут, 50 секунд (4.02.2010 - 12:54) baston написал(а):
Цитата (phz @ 4.02.2010 - 12:43) |
RewriteRule ^government.html$ /index.php?mod=government [L] |
Получается, что если в строке пользователь набирает адрес: http://domen.ru/government.html
то пользователь будет перенаправлен на адрес:
http://domen.ru/index.php?mod=government
Однако, адресная строка-то не изменится, меняется конечный путь где окажется пользователь.
Вот это меня и смутило в вашем примере... Но надо проверить на практике, так это или нет.
Спустя 4 минуты, 29 секунд (4.02.2010 - 12:59) phz написал(а):
Если пользователь наберет http://domen.ru/government.html то он и будет на этой странице. Но на самом деле он будет на http://domen.ru/index.php?mod=government (где в свою очередь мы подключаем к примеру модуль government). Мы просто украсили ссылки и всё.. Если я правильно вас понял.
Спустя 6 минут, 15 секунд (4.02.2010 - 13:05) baston написал(а):
Да, совершенно верно.
Просто max_prog2010 написал, что у него ссылки такого вида:
Новости: site.ru/index.php?act=news
а ему нужно чтобы были такого:
site.ru/news/
Но я вероятно не правильно прочитал его вопрос, ему наверное нужно было заменить это
<a href="/news">Новости</a>
на
<a href="site.ru/news/">Новости</a>
Просто max_prog2010 написал, что у него ссылки такого вида:
Новости: site.ru/index.php?act=news
а ему нужно чтобы были такого:
site.ru/news/
Но я вероятно не правильно прочитал его вопрос, ему наверное нужно было заменить это
<a href="/news">Новости</a>
на
<a href="site.ru/news/">Новости</a>
Спустя 36 минут, 19 секунд (4.02.2010 - 13:41) max_prog2010 написал(а):
Большое спасибо. Все работает отлично