ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Проблема с mod_rewrite и индексом
  #1  
Старый 03.07.2008, 15:50
Аватар для blaga
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию Проблема с mod_rewrite и индексом

Доброго времени суток, форумчане!

Я тут делаю скрипт и столкнулся с такой проблемой. У меня не хочет отображаться index.php
Сейчас поясню ситуацию.
Мне нужны ссылки вот такого вида
сайт.ру/articles/ - главная страница модуля статей. Тут нужно заметить что articles - реальная папка
сайт.ру/articles/название_категории - будет выводиться статьи в опр. категории


В .htaccess такой код
Код:
RewriteEngine On
RewriteRule ^/([a-z]+)?$ articles.php?cat=$1 //вот тут получаеться должна выводиться категория
И тут я думаю что символ + здесь означает один или более раз то есть сайт.ру/articles/название_категории или сайт.ру/articles/н или сайт.ру/articles/назван
Так вот а по адресу сайт.ру/articles/ должна грузиться index.php
Но такого почему то нету.
Работаю на Денвере.
Заранее - Спасибо!

Последний раз редактировалось blaga; 03.07.2008 в 18:53..
 
Ответить с цитированием

  #2  
Старый 03.07.2008, 16:06
Аватар для 5triker
5triker
Участник форума
Регистрация: 05.04.2007
Сообщений: 150
Провел на форуме:
771228

Репутация: 77
По умолчанию

/([a-z]+)?$ articles.php?cat=$1 /
помойму $ тут лишний

Последний раз редактировалось 5triker; 03.07.2008 в 16:11..
 
Ответить с цитированием

  #3  
Старый 03.07.2008, 16:33
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

5triker
Цитата:
помойму $ тут лишний
Ничего не лишний

blaga
Попробуй так

Цитата:
RewriteRule ^articles/?$ index.php [L]
RewriteRule ^([a-z]*)?$ articles.php?cat=$1
Обоати внимание, что при использовании
Цитата:
RewriteRule ^([a-z]*)?$ articles.php?cat=$1
Адресс долджен быть вида
http://site.com/news

а при
Цитата:
RewriteRule ^([a-z]*)/?$ articles.php?cat=$1
Адресс долджен быть вида
http://site.com/news/

Последний раз редактировалось Naydav; 03.07.2008 в 16:39..
 
Ответить с цитированием

  #4  
Старый 03.07.2008, 16:49
Аватар для zythar
zythar
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме:
1595333

Репутация: 291


Отправить сообщение для zythar с помощью ICQ
По умолчанию

хотелось бы посоветовать ТС также прочитать вот это: http://www.opennet.ru/docs/RUS/mod_rewrite/.
 
Ответить с цитированием

  #5  
Старый 03.07.2008, 18:51
Аватар для blaga
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию

5triker, $ не лишний. (хотя, если честно я не знаю нафига он.)
Naydav, на то что ты обращал мое внимание, я знал. А вот по поводу примера есть пара замечаний. во-первых в твоем примере обработаеться только одно правило потому что у тебя после первой строки идет флаг [L](он означает что это мол последнее правило), а во-вторых ты предлагаешь жестко привязать это к реальной папке articles а .htsccess придется класть в корень сайта что не допустимо в моем случае...
zythar, я вообще то когда то смотрел эту статью, но там много лишнего и переведена она не очень хорошо. Сложно понять.
Но вообще всем спасибо за попытки помочь. Тут вдруг в голову пришла мысль как сделать. Получилось так
Код:
RewriteEngine On
RewriteRule ^([^a-z])?$ index.php
RewriteRule ^([a-z]+)?$ articles.php?cat=$1 [L]
то есть добавилось новое правило вначало если никаких символов от a-z то индекс. если они есть то статьи.
 
Ответить с цитированием

  #6  
Старый 03.07.2008, 19:05
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
хотя, если честно я не знаю нафига он
^ - начало строки
$ - конец строки

Цитата:
во-первых в твоем примере обработаеться только одно правило потому что у тебя после первой строки идет флаг [L](он означает что это мол последнее правило)
Я зная, я специально его и поставил!!!
Если в адресной строке site.ru/articles/, то выводим индекс, и дальнейшие правила не считываем

Цитата:
а во-вторых ты предлагаешь жестко привязать это к реальной папке articles а .htsccess придется класть в корень сайта что не допустимо в моем случае...
Какой реальной папке, да все равно есть она к тебя физически папка эта или нет
Цитата:
RewriteRule ^antichat/?$ index.php [L]
Это означает, если в адрессной строке есть запрос
site.ru/antichat/, то вызываем скрипт ndex.php, и все остальные правила не обрабатываем
А физически ее может и не быть, папки эитой

Последний раз редактировалось Naydav; 03.07.2008 в 19:11..
 
Ответить с цитированием

  #7  
Старый 03.07.2008, 19:07
Аватар для blaga
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию

Naydav, ну вот, сенк. Теперь буду знать.
 
Ответить с цитированием

  #8  
Старый 03.07.2008, 19:09
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Прочти выше

Вот тебе пример

_http://www.motosale.com.ua/aprilia/
_http://www.motosale.com.ua/kawasaki/
Ты что реально думаешь, что есть папки aprilia и kawasaki?
Нет конечно, вот строка, что их (ссылки) обрабатывает
Цитата:
RewriteRule ^(.*)/$ index.php?sample=model&name=$1 [L]

Последний раз редактировалось Naydav; 03.07.2008 в 19:14..
 
Ответить с цитированием

  #9  
Старый 03.07.2008, 19:25
Аватар для blaga
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию

Naydav, но у меня то это реальная папка! там не нужно делать никаких подстановок и замен.
 
Ответить с цитированием

  #10  
Старый 03.07.2008, 19:29
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Аааа...
Понятно, тогда .htaccess в папку articles

Цитата:
RewriteRule ^([a-z]+)?$ articles.php?cat=$1 [L]
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите проблема.. brasco2k *nix 7 06.06.2008 11:43
Проблема с картинками brasco2k PHP, PERL, MySQL, JavaScript 4 21.05.2008 13:30
Звук есть, но проблема в другом (Встроенный звук) m0le[x] Аппаратное обеспечение 5 12.01.2008 13:10
ВАЖНАЯ ПРОБЛЕМА!!! Sn_key Уязвимости 13 08.06.2005 15:50



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ