Ник:
Пароль:

Download Open SLAED

Open SLAED 1.1 Open SLAED 1.1

Поиск по сайту

Поиск

Рекламные ссылки

Open SLAED
Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Новости
Новости » Интернет
Что такое ЧПУ и способы преобразования ссылок
Мир интернета
ЧПУ - термин, принятый среди веб-разработчиков для обозначения WWW-адресов, удобных для восприятия человеком (а также систем и методов построения таких адресов), является аббревиатурой от словосочетания «человекопонятный урл» («урл» - жаргонное для URL). С развитием и ростом Интернета ситуации, когда веб-сайт содержит страницы с очень длинными и трудночитаемыми адресами, стали реальной проблемой. Адрес вроде http://www.slaed.net/index.php?ext=83465&p1=some&p2=some крайне сложно запомнить или, скажем, продиктовать по телефону.


ЧПУ предполагает построение адресов по иерархической схеме, очевидной для человека: вместо http://www.slaed.net/index.php?ext=83465&p1=some&p2=some использовать http://www.slaed.net/doc/83465/some/some. При этом удаление части адреса («укорачивание» адреса на некоторое число секций, разделенных слешами) приводит к попаданию на более высокую ступень навигационной иерархии: http://www.slaed.net/doc/83465/ - документ под номером 83465, http://www.slaed.net/doc/ - список всех документов и т.п.

Первый способ
Cоздать для каждой заметки поддиректорию с соответствующим именем и помещать в нее index.html, то есть сделать так, чтобы по адресу http://www.slaed.net/php/user_urls лежал бы реальный файл.

Второй способ
Использование ошибочной страницы. Если страница не существует, то сервер выдает ошибку 404. Так что вторая идея - прописать в фале .htaccess страницу, которая будет выдаваться при ошибке 404, а уже эта страница будет смотреть на текущий УРЛ и выдавать нужный документ

То есть, в .htaccess пишем:

------------------------------------
ErrorDocument 404 /index.php
ErrorDocument 401 /index.php
------------------------------------

Пользователь набирает http://www.slaed.net/php/user_urls, такая страница не найдена, и загружается файл index.php. Дальше - все просто. Переменная $REQUEST_URI дает нам адрес вызываемой страницы (в данном случае это будет /php/user_urls), вывести на экран соответствующий документ - дело техники.

Этого мало. В некоторых браузерах и с поисковиками такой фокус не пройдет: страница 404 будет выдавать соответствующий код, и страницы индексироваться не будут. Поэтому надо, чтобы страница, которая грузится в случае ошибки 404, изменяла бы код ошибки и сигналила, мол, все ОК, есть такая страница: <?php header("http/1.0 200 Ok"); ?>

Итого: прописываем в .htaccess страницу, которая, собственно, за все отвечает (у нас это index.php). В этой странице пишем php-скрипт, который работает с $REQUEST_URI, шлет заголовок «http/1.0 200 Ok» и отображает то, что надо.

Плюсы: Очень простой способ. Работает почти везде.
Минусы: При таком способе нельзя постить содержимое формы на несуществующие псевдоурлы. И если в Апаче ведется лог 404-ых ошибок, то он будет забит.

Третий способ
Основан на директиве FilesMatch, которая в Апаче является core feature. Все просто. Пишем опять же в .htaccess

Код
Action throw /index.php

<FilesMatch "^([^.]+)$">
ForceType throw
</FilesMatch>

<FilesMatch index.php>
ForceType application/x-httpd-php
</FilesMatch>


После этого все УРЛы, которые подпадают под условие «^([^.]+)$», (то есть все урлы, в которых не содержится точка) будут передаваться на index.php. Вы можете написать свое условие, разумеется.

Плюсы: Простой и удобный способ.
Минусы: Говорят, что для того, чтобы ForceType работал, php должен быть подключен к апачу в виде модуля. Если php вызывается, как обыкновенный CGI — ForceType работать не будет.

Четвёртый способ
Для этих (и не только) целей есть специальный модуль в Апаче, который называется mod_rewrite. Он позволяет «переписывывать урлы», то есть, преобразовывать их «на лету» по правилам, которые вы ему опишите.

Это очень мощный модуль, и если вы в нем разберетесь, то сможете творить чудеса.

Плюсы: Очень мощный способ.
Минусы: Может не хватить мозгов. На хостинге может быть не установлен этот модуль.

Смотрите также связанные новости

14.07.2008 - Фильтры Google и способы их обхода
08.12.2007 - Интернет – интернат для одиноких душ?
06.08.2007 - Смешные доменные имена сайтов
18.06.2007 - Способы повышения посещаемости сайта
18.05.2007 - Обман в обмене ссылками - Раскрутка сайта
Axxx (Гость)
Добавлено 28.02.2006 17:29 Комментарий: 17
Axxx (Гость)

Ой извиняюсь аплодер уже не надо, привык к тому который есть, теперь идет как по маслу. А по началу так выводил. Но щас вообще форэва и зэбест.
ЗЫ
А почему на этом сайте нет чпу, если вы не смогли сделать я и подавно не сделаю (((
Спуститься к концу Подняться к началу
Axxx (Гость)
Добавлено 28.02.2006 17:24 Комментарий: 16
Axxx (Гость)

Вспомни хотя бы вечно перекошенные автоновости в админке. да есть такая беда )))
Делайте ЧПУ в слаед следущем бесплатном и аплодер я тогда будет мне счастье.
Спуститься к концу Подняться к началу
AntonioRacter (Гость)
Добавлено 24.02.2006 11:20 Комментарий: 15
AntonioRacter (Гость)

Не понял... Ничегошеньки не понял...
Мне вот надо, чтобы каждый модуль имел свой index.html, (или чтобы было как на этом сайте...) и чего мне делать? Четвертый способ либо не поддерживает хостинг, либо хостинг же выгонит меня за нагрузку на сервак, это я понял... А первый способ? У меня нету никаких папок типа как написано в статейке php/user_urls !!! Так куда мне пихать эти несчастные index'ы ??? И чего писать в индекс - файлах?
А ЧПУ ОЧЕНЬ нужен
Спуститься к концу Подняться к началу
SpeedHack
Добавлено 21.02.2006 18:19 Комментарий: 14
SpeedHack
2.71

Пункты: 65
Регистрация: 04.06.2005
Пол: Мужчина
Из: Russia / Kuban
Artas, а гед моно почитать подробнее...
Спуститься к концу Подняться к началу
Персональная информация
Artas
Добавлено 21.02.2006 17:55 Комментарий: 13
Artas
Ранг
3

Группа: Новички
Пункты: 117
Регистрация: 24.09.2005
Пол: Мужчина
Из: Московская область
Вот посмотрите //enrof.net - хороший пример использования ЧПУ
После того, как поставил, сайт стал первым в гугле по ключевым слвам

Мой персональный сайт
Портал фэнтези и фантастики
Всемирная история, Русская история, рефераты
Спуститься к концу Подняться к началу
Персональная информация
SpeedHack
Добавлено 17.02.2006 17:33 Комментарий: 12
SpeedHack
2.71

Пункты: 65
Регистрация: 04.06.2005
Пол: Мужчина
Из: Russia / Kuban
xms, не юзаю данные функцие - ничего сказат не могу:)))
ЧПУ мне к примеру особо не горит, но все же нравятся ссылки вида /news/2006/02/15/1/

Или просто /news/546/
Спуститься к концу Подняться к началу
Персональная информация
xms (Гость)
Добавлено 17.02.2006 17:01 Комментарий: 11
xms (Гость)

RUSH, не спорю, идеального в мире ничего не бывает. Однако ЧПУ и кэш должны быть в любой системе. Да и исправлять найденные ошибки в последующих версиях все же стоит... Вспомни хотя бы вечно перекошенные автоновости в админке (кто пользуется, тот знает о чем речь) и вывод подкатегорий на главной Pages и т.д. и т.п.
Спуститься к концу Подняться к началу
SpeedHack
Добавлено 17.02.2006 16:52 Комментарий: 10
SpeedHack
2.71

Пункты: 65
Регистрация: 04.06.2005
Пол: Мужчина
Из: Russia / Kuban
xms, для кого как. Лично я в SLAED прееделываю 5-20% под себя, потому что мне нужно. А есди юзер ничего не знает, не умеет - ему ничего и не нужно:)))
xms, запонни что только самописная CMS будет соответствовать всем твоим требованиям. SLAED при разработке был расчитан на рядового юзера, перешедшего с той же PHP-Nuke.
Спуститься к концу Подняться к началу
Персональная информация
xms (Гость)
Добавлено 17.02.2006 16:38 Комментарий: 9
xms (Гость)

ЧПУ есть в любой более-менее нормальной CMS (возьмите Мамбо, ДЛЕ, Сапид), пора б уже сделать и в Слаеде, а не разводить руками о существующих методах и о сложности реализации. Для нюки модов ЧПУ - с пяток есть рабочих. А Слаед был и остается системой, где после апгрейда куча всего ручками приходится доделывать... Жаль...
Спуститься к концу Подняться к началу
SpeedHack
Добавлено 16.02.2006 20:15 Комментарий: 8
SpeedHack
2.71

Пункты: 65
Регистрация: 04.06.2005
Пол: Мужчина
Из: Russia / Kuban
Antonello, да не скажи:)))
Спуститься к концу Подняться к началу
Персональная информация
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Новости Интернет такое способы преобразования ссылок термин принятый среди разработчиков обозначения адресов удобных восприятия человеком также систем методов построения таких является аббревиатурой словосочетания человекопонятный жаргонное развитием ростом Интернета ситуации когда сайт содержит страницы очень длинными трудночитаемыми адресами стали реальной проблемой Адрес вроде http slaed index 83465 some крайне сложно запомнить скажем продиктовать телефону предполагает построение иерархической схеме очевидной человека вместо использовать этом удаление части адреса укорачивание некоторое число секций разделенных слешами приводит попаданию более высокую ступень навигационной иерархии документ номером список всех документов Первый способ Cоздать каждой заметки поддиректорию соответствующим именем помещать html есть сделать чтобы адресу user urls лежал реальный файл Второй Использование ошибочной Если страница существует сервер выдает ошибку

Сотовые Аксессуары

Опрос

Как вы узнали о системе?

От друга, знакомого
На сайте phpnuke.ru
На сайте rusnuke.com, shkurki.ru
Из Top 100
Из поисковой машины
По ссылке
Случайно
Не знаю


Результаты
Другие опросы

Всего голосов: 1236
Комментарии: 19
Счетчик посещения страниц и уникальных посетителей в сутки SLAED CMS - Content Management System Экспорт новостей в формате RSS Anti Spam