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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Руководство по 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