Как использовать RewriteRule с URL-адресами, такими как bit.ly? - PullRequest
0 голосов
/ 02 ноября 2010

Я не знаю, действительно ли они используют RewriteRule (Apache mod_rewrite) для этого, но если мы добавляем URL после URL-адреса bit.ly (то есть: http://bit.ly/http://www.somesite.com/), он принимает URL, добавленный в качестве параметра (http://bit.ly/?u=http%3A%2F%2Fwww.somesite.com%2F).

Кто-то знает, как это сделать, может быть, с помощью RewriteRule или еще чего-нибудь? Если так, что может быть регулярным выражением для управления этим?

Спасибо!

Ответы [ 2 ]

1 голос
/ 02 ноября 2010

Я бы предположил, что их правило переписывания выглядит примерно так:

 RewriteRule ^(http.*)$ ?u=$1?%{QUERY_STRING} [R]

Не могу не возиться с этим: принимает несколько протоколов и избегает добавления?если нет строки запроса:

   RewriteCond %{QUERY_STRING} (^$)
   RewriteRule ^((http|ftp).*)$ ?u=$1 [B,R,L]

   RewriteRule ^((http|ftp).*)$ ?u=$1?%{QUERY_STRING} [B,R,L]
0 голосов
/ 02 ноября 2010

Это, наверное, что-то в этих строках:

<IfModule mod_rewrite.c>
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

А затем index.php сделайте:

  1. поиск в базе данных, чтобы убедиться, что ссылка в порядке или помечена (вредоносное ПО, спам и т. Д.)
  2. отметка посещения в базе данных статистики
  3. выбрасывает заголовки http 301 на пользователя для правильного перенаправления
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...