HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Проблема с mod_rewrite и индексом
  #1  
Старый 03.07.2008, 15:50
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
Участник форума
Регистрация: 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
Постоянный
Регистрация: 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
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
Постоянный
Регистрация: 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
Постоянный
Регистрация: 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
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


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

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

  #8  
Старый 03.07.2008, 19:09
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
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме:
2976185

Репутация: 694


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

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

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

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

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

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с картинками brasco2k PHP 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