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

Форум Apache

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

 

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

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

тема: ЧПУ
 
 автор: Rikone   (03.06.2014 в 09:16)   письмо автору
 
 

Доброго времени суток, друзья. Подскажите, пожалуйста, что можно почитать о ЧПУ. Чтоб было все расписано и доходчиво. Пишу сайт, очень много различных GET-запросов у меня, все то, что находил по ЧПУ не подходит и поэтому прошу Вашего совета. Заранее благодарю.

  Ответить  
 
 автор: Commander   (03.06.2014 в 19:55)   письмо автору
 
   для: Rikone   (03.06.2014 в 09:16)
 

Тут все зависит от того, что вы считаете за "расписано и доходчиво". Для ЧПУ нужно, как минимум, хоть немного понимать, что такое рег. выражения. Без этого можно только объяснить принципы. Попробую по-простому:

1. Когда браузер запрашивает у сервера некий документ, сервер сначала смотрит, а не надо ли ему адрес запрошенного документа как-нибудь трансформировать.

2. Если надо, то он смотрит правила трансформации.

3. Если адрес совпадает с шаблоном, переданным в одном из правил трансформации, то он выполняет это правило. Например:
RewriteEngine on #Включаем перезапись адресов

RewriteRule ^.*$ index.php [L] #Все адреса перенаправляются на index.php
В показанном коде для всех адресов без исключения (.*) будет открыт файл index.php. Директива L означает, что если правило удовлетворяет сервер, то следующие правила смотреть не надо.

Сейчас в абсолютном большинстве движков используется архитектура, которая не требует особенных знаний по ЧПУ и рег. выражениям. Там чаще всего все запросы перенаправляются на index.php, который играет роль диспетчера адресов.

По рег. выражениям есть отдельный форум.

P.S. cheops, скиньте ссылку на книгу о рег. выражениях, она где-то здесь была

P.P.S. Полностью прочитал ваше сообщение. Много GET-параметров обычно бывает либо в админке (где ЧПУ не имеет смысла), либо в поиске (поправьте меня, если я не прав). Для админки, как я сказал, ЧПУ теряет смысл , а для поиска такие правила тоже бесполезны.

  Ответить  
 
 автор: ubahuba   (04.06.2014 в 07:39)   письмо автору
 
   для: Commander   (03.06.2014 в 19:55)
 

Спасибо за ответ. Нет, это не админка, у меня много различных запросов, т.к. предоставляю пользователю больше "свободы" на сайте, или больший выбор, потому их так много у меня ( различных GET-переменных). Т.е. чтобы писать ЧПУ нужно просто знать регулярные выражения? А что-нибудь про сам апач или про htaccess знать не нужно? Я потому и спрашиваю все это, не знаю что учить акромя рег. выражений. Заранее благодарю.

  Ответить  
 
 автор: Commander   (04.06.2014 в 09:39)   письмо автору
 
   для: ubahuba   (04.06.2014 в 07:39)
 

А что-нибудь про сам апач или про htaccess знать не нужно?

Код, который я привел, необходимо как раз в .htaccess поместить. И все. Небольшие тонкости есть, но их немного.

  Ответить  
 
 автор: ubahuba   (04.06.2014 в 13:01)   письмо автору
 
   для: Commander   (04.06.2014 в 09:39)
 

Еще раз спасибо. Можете привести пример? К примеру есть запросы такого вида:
[url]site.ru/?sector=XXX&genre=YYY&country=ZZZ[/url]
а есть просто:
[url]site.ru/?year=DDD[/url]
Ну и так далее. Как мне их преобразовать в:
[url]
site.ru/year
site.ru/XXX/YYY/ZZZ[/url]

Заранее спасибо.

  Ответить  
 
 автор: Commander   (04.06.2014 в 18:56)   письмо автору
 
   для: ubahuba   (04.06.2014 в 13:01)
 

RewriteEngine on

RewriteRule ^([0-9]{4})$ index.php?year=$1 [L] #
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([a-zA-Z]+)$ index.php?sector=$1&genre=$2&country=$3 [L]


Все эти запросы будут передаваться файлу index.php

  Ответить  
 
 автор: ubahuba   (04.06.2014 в 19:04)   письмо автору
 
   для: Commander   (04.06.2014 в 18:56)
 

Огромное спасибо. А что почитать можно, чтоб самому во все это вникнуть?

  Ответить  
 
 автор: Commander   (19.06.2014 в 19:43)   письмо автору
 
   для: ubahuba   (04.06.2014 в 19:04)
 

Вот здесь лежит книжка по рег. выражениям. А что непонятно будет - задавайте вопросы.

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

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