Как такое реализовать?

SB
На сайте с 06.11.2011
Offline
11
582

В гугле набирал различные запросы и в выдаче обнаружил такой сайтец: ВОТ. Заметьте, если в строке адреса после слэша указать к примеру "летающее говно" или скажем "свиноводоплясы атакуют", такие страницы чудным образом находятся на сайте тоже.

На первый взгляд напрашивается ответ: идет обработка 404-й ошибки и средствами PHP как то извлекается то что идет в урле после слеша. Но может я ошибаюсь.

Как реализовывается подобная фича?

Предлагаю выгодное приватное решение для конверта Вашего трафика. Принимается трафик с доров и белых проектов. Обращайтесь в личку.
L8
На сайте с 28.12.2011
Offline
0
#1

Нет, 404 не отдается.

Вообще все элементарно.

В .htacsess абсолютно любой запрос перенаправляется на определенный скрипт, например index.php.

Потом "средствами PHP как то извлекается то что идет в урле после слеша".

И все - дел на полчаса.

ДП
На сайте с 23.11.2009
Offline
203
#2

Суть в том, чтобы все урлы на сайте обрабатывать одним скриптом, в нем можно уже и разбирать строку запроса, к которой доступ есть в php через $_SERVER['REQUEST_URI'] например.

Great-Antique
На сайте с 21.08.2010
Offline
16
#3

Через rewrite в htaccess'е можно настроить чтобы такие адреса перенаправлялись на скрипт, скажем так:

site.com/летающее г -> site.com/script.php?query=летающее г

при этом не будет никаких 404

Пишу небольшие PHP-скрипты бесплатно. Главное, чтобы интересно было. Блог о PHP-разработке (http://den.girnyk.com) и не только.
L8
На сайте с 28.12.2011
Offline
0
#4

Можно кстати это делать и ява скриптом, отдавая сервером статику. Очень хорошо для экономии ресурсов.

SB
На сайте с 06.11.2011
Offline
11
#5

Киньте ссылку плиз где можно почитать про это дело применительно именно к моей ситуации. А то в поисковиках натыкаюсь на стандартные статьи про 301 редирект, 404-ошибки, склейку зеркал и прочие шняги с .htaccess.

siv1987
На сайте с 02.04.2009
Offline
427
#6
SB
На сайте с 06.11.2011
Offline
11
#7

Спасибо.

То есть насколько я понял из мануалов, мне надо сделать так:

RewriteEngine on

RewriteCond %{REQUEST_URI} !-U
RewriteRule ^(.+) http://мой_домен/страница_обработки_несуществующих_урлов.php

А дальше средствами PHP уже вытягивать из несуществующего УРЛа то что идет после слеша?

ДП
На сайте с 23.11.2009
Offline
203
#8

Да, примерно так.

Я правда насчет ключа !-U не уверен, просто не знаю, что он делает.

А так - посмотрите .htaccess от wordpress'а того же - там все адреса, кроме реально существующих каталогов и файлов обрабатываются через index.php

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий