П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 177600 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 74939 раз(а).

Учебник HTML.
Просмотров 73702 раз(а).

Руководство по PHP5.
Просмотров 44607 раз(а).

Хостинг через призму DNS.
Просмотров 51390 раз(а).

Подборка текстов стандартных документов.
Просмотров 44738 раз(а).

Учебник PHP - Самоучитель
Просмотров 50982 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51420 раз(а).

Внешние атаки...
Просмотров 41640 раз(а).

Учебник PHP.
Просмотров 36926 раз(а).

SSI в примерах.
Просмотров 27650 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по URL преобразованиям
Работа с URL

Внешний редирект

Описание:

Иногда нам нужно больше контроля над URL (касаемо механизма обрезания символов) при преобразованиях. Обычно обрезающие функции URL ядра Apache также убирают и якоря, т.е. в URL вида «url#anchor». Вы не можете это непосредственно использовать при редиректах с mod_rewrite потому что функция Apache uri_escape() также обрезала бы срезаемый символ. Как мы можем сделать редирект такому URL?

Решение:

Мы должны использовать ляп в программе используя NPH-CGI скрипт который делает редирект на себя самого. Потому что здесь не делается обрезание (NPH=non-parseable headers). Сначала мы вводим новую URL scheme xredirect: в следующей строке конфигурационного файла сервера (должно быть одной из последних директив):

RewriteRule ^xredirect:(.+) /path/to/nph-xredirect.cgi/$1 \
            [T=application/x-httpd-cgi,L]

Это направляет все URL начинающиеся с xredirect: через программу nph-xredirect.cgi. И эта программа выглядит примерно так:

#!/path/to/perl
##
##  nph-xredirect.cgi -- NPH/CGI script for extended redirects
##  Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
##

$| = 1;
$url = $ENV{'PATH_INFO'};

print "HTTP/1.0 302 Moved Temporarily\n";
print "Server: $ENV{'SERVER_SOFTWARE'}\n";
print "Location: $url\n";
print "Content-type: text/html\n";
print "\n";
print "<html>\n";
print "<head>\n";
print "<title>302 Moved Temporarily (EXTENDED)</title>\n";
print "</head>\n";
print "<body>\n";
print "<h1>Moved Temporarily (EXTENDED)</h1>\n";
print "The document has moved <a HREF=\"$url\">here</a>.<p>\n";
print "</body>\n";
print "</html>\n";

##EOF##

Это предоставляет вам функции для того чтобы делать перенаправления на все URL schemes, т.е. включая те, которые, не прямо принимаются mod_rewrite. Для примера вы можете сейчас также перенаправить news:newsgroup через

RewriteRule ^anyurl  xredirect:news:newsgroup
Замечание: Вы не должны использовать [R] или [R,L] в вышеприведенной директиве потому что xredirect: позже, должен быть продолжен нашим специальным правилом «pipe through» которое приведено выше.



[ Назад ] [ Содержание ] [ Вперед ]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru