Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: mod_rewrite
 
 автор: greeb   (05.02.2012 в 04:18)   письмо автору
 
 

Здравствуйте, создал файл .htaccess в нем вписал всего одно простое правило, но оно почему то не работает(
Вот содержимое файла:

RewriteBase /
RewriteEngine on
RewriteRule ^full-([0-9]+)\.html$ full.php?id=$1

Ссылки у меня вида

full.php?id=3

по идее должно работать... Подскажите пожалуйста где я ошибся...

Зараннее спасибо за ответы...

  Ответить  
 
 автор: cheops   (05.02.2012 в 11:10)   письмо автору
 
   для: greeb   (05.02.2012 в 04:18)
 

А какой адрес для проверки вбиваете?

  Ответить  
 
 автор: greeb   (05.02.2012 в 15:29)   письмо автору
 
   для: cheops   (05.02.2012 в 11:10)
 

я в первый раз пытаюсь настроить mod_rewrite , может что то не так делаю...
Порядок действий такой:
проверил подключен ли модуль реврайта в апаче.
создал файл .htaccess и вписал в него вышеуказанные правила
перезапустил апач(незнаю может и не надо)
пытаюсь открыть страницу вида - http://site.ru/full.php?id=x

и ничего не изменяется... урлы такие же как и были, т.е. http://site.ru/full.php?id=x

з.ы. файл .htaccess вроде обрабатывается, ибо я что то не то там был сделал, и сайт стал выдавать ошибку 500

upd. Только что попробывал зайти на сайт по ссылке которую по идее должен обрабатывать мод реврайт... Результат - на сайт зашло, но стили не применяются...такое впечатление. что сервер не может найти файл цсс(

И еще, если правила работают(хоть как то) почему тогда не заменяются урл в стрке броузера? или для этого нужно что то прописать в самом сайте?

  Ответить  
 
 автор: Sfinks   (05.02.2012 в 20:19)   письмо автору
 
   для: greeb   (05.02.2012 в 15:29)
 

Так у вас же правило наоборот написано.
RewriteRule так формируется:
RewriteRule шаблон_что_редиректить шаблон_куда_редиректить [опции]

Т.е. с вашим правилом, если вы введете адрес http://site.ru/full-1.html то попадете в скрипт full.php?id=1

> почему тогда не заменяются урл в стрке броузера?
Вообще мод-реврайт чаще всего и применяют для того чтоб в строке браузера было написано одно, а пользователь попадал в совсем другое место. Так называемые ЧПУ (человеко-понятные урлы), типа http:/site.ru/news/02.12.2011/ -это чел видит в браузере, а работает над этим запросом файл news.php?date=02.12.2011
Но можно и изменить адрес в браузере. Для этого нужно применить не внутренний редирект (по умолчанию применяется именно он), а внешний, дописав в конце правила [R=301]

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования