X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> ЧПУ в PHP, Урок
Vialls_mw
Vialls_mw
Topic Starter сообщение 28.7.2008, 9:26; Ответить: Vialls_mw
Сообщение #1


ЧПУ в PHP

Для создания ЧПУ (человеку понятных URL) используется модуль Apache - "mod_rewrite". Он позволяет незаметно для пользователя переадресовывать с одного URL на другой.

Mod_rewrite по умолчанию идет в комплекте с сервером Apache, поэтому устанавливать его нет необходимости. Но он почти всегда выключен, поэтому его надо включить с помощью файла ".htaccess":
RewriteEngine on

Данной строкой мы включили mod_rewrite. Теперь нужно настроить перенаправление.

Допустим у нас имеется скрипт "articles.php", которому в GET параметре должно передаваться ID категории и ID статьи. Т.е.:
articles.php?category=5&article=235

Нам нужно добиться следующего вида URL:
articles/5/235.html

Для этого в конец файла ".htaccess" пишем строку:
RewriteRule ^articles/([0-9]+)/([0-9]+).html$ articles.php?category=$1&article=$2

Между символами "^" и "$" заключается регулярное выражение, которое описывает ЧПУ, в скобках идут передаваемые параметры. Далее идет страница, на которую будет перенаправляться наш ЧПУ. $1 значит первый параметр, который указан в скобках регулярного выражение, $2 - второй и т.д. Их может быть бесконечное множество.

Так-же перенаправление, может принимать разные параметры. Я знаю только, один, так как в других пока не нуждался. Этот параметр - [R], добавляется в конце условия перенаправления, т.е.:
RewriteRule ^articles/([0-9]+)/([0-9]+).html$ articles.php?category=$1&article=$2 [R]

Данный параметр предназначен для того, что бы человек видел, что происходит перенаправление. Т.е. в браузере будет заменяться адресная строка.


Поблагодарили: (1)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Xap_mw
Xap_mw
сообщение 28.7.2008, 12:11; Ответить: Xap_mw
Сообщение #2


То есть это настраивается только для одного url или же если это прописать, то так будут работать все url?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vialls_mw
Vialls_mw
Topic Starter сообщение 28.7.2008, 12:12; Ответить: Vialls_mw
Сообщение #3


Настраивается жестко для одного. :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Xap_mw
Xap_mw
сообщение 28.7.2008, 12:16; Ответить: Xap_mw
Сообщение #4


А вот у меня Joomla. И все url такого паршивого формата. Могу ли я как-то сделать, чтобы url были ЧПУ (все url)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vialls_mw
Vialls_mw
Topic Starter сообщение 28.7.2008, 12:42; Ответить: Vialls_mw
Сообщение #5


Да, но там еще в скрипте, где-то надо править, что бы он генерировал ЧПУ ссылки, а не корявые.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Xap_mw
Xap_mw
сообщение 28.7.2008, 13:10; Ответить: Xap_mw
Сообщение #6


Вообщем я так понимаю, это бесперспективно. Лучше уж ставить на Drupal или Wordpress
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vialls_mw
Vialls_mw
Topic Starter сообщение 28.7.2008, 13:12; Ответить: Vialls_mw
Сообщение #7


Вам решать :huh:. По идее должен быть модуль к Joomla, что-бы генерились ЧПУ ссылки. А .htaccess самому прописывать вроде. Точно не знаю, т.к. уже почти год не использую CMS (пишу свои)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
сообщение 21.9.2008, 0:00; Ответить: FordogeN
Сообщение #8


ЧПУ настраивается в файле .htaccess, а не в php!
Скоро возьмусь за скриптик который для контроля ЧПУ через админку...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Xap_mw
Xap_mw
сообщение 21.9.2008, 16:53; Ответить: Xap_mw
Сообщение #9


А какая нагрузка на сервак будет после Вашего скриптика?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
сообщение 21.9.2008, 17:49; Ответить: FordogeN
Сообщение #10


нагрузка на сервак идет только во время изменения через админку... в файл .htaccess просто будет записываться вся конфигурация ЧПУ

проще говоря - нагрузки почти ни какой.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3296 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1174 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44777 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1856 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3362 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 29.3.2024, 19:53
Дизайн