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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Модуль Apache mod_rewrite
RewriteBase Директива

Описание:Устанавливает базовый URL для преобразований в контексте каталога
Синтаксис:RewriteBase URL-path
Значение по умолчанию:Смотри использование для более подробной информации.
Контекст:directory.htaccess
Разрешение:FileInfo
Статус:Расширение
Модуль:mod_rewrite

Директива RewriteBase устанавливает конкретный, базовый URL для преобразований в контексте каталога. Как вы увидите ниже, RewriteRule может быть использовано в конфигурационных файлах каталогов (.htaccess). Это будет работать локально, т.е., префикс локального каталога отбрасывается на этом этапе обработки и ваши правила преобразований работают только в оставшейся части. В конце он автоматически добавляется обратно к пути. Настройка по-умолчанию; RewriteBase physical-directory-path

Когда, для какого-нибудь нового URL происходит подстановка(преобразование), этот модуль должен заново вовлечь этот URL в обработку. Для того чтобы иметь возможность сделать это, нужно знать какие у него префикс или база URL. По-умолчанию этот префикс равен самому пути. Однако на большинстве сайтов URL'ы НЕ прямо соответствуют физическим путям, поэтому это допущение обычно окажется неверным! В этом случае вы должны использовать директиву RewriteBase для указания правильного префикса URL.

Если URL вашего сервера не соответствуют физическим путям к файлам, вы должны использовать RewriteBase в каждом из .htaccess файлов где вы хотите использовать директивы RewriteRule.

Например, предположим следующий конфигурационный файл каталога:

#
#  /abc/def/.htaccess -- конфигурационный файл каталога /abc/def
#  Помните: /abc/def это физический путь /xyz, т.е., у сервера есть
#  директива 'Alias /xyz /abc/def' к примеру
#

RewriteEngine On

#  даем серверу знать что мы работаем через /xyz а не
#  через префикс физического пути /abc/def
RewriteBase   /xyz

#  теперь правила преобразований
RewriteRule   ^oldstuff\.html$  newstuff.html

В примере выше, запрос к /xyz/oldstuff.html корректно преобразуется в физический файл /abc/def/newstuff.html.

Для любителей поковыряться в Apache

Следующий список дает подробную информацию об  этапах внутренней работы:

Запрос:
  /xyz/oldstuff.html

Внутренняя работа:
  /xyz/oldstuff.html     -> /abc/def/oldstuff.html  (per-server Alias)
  /abc/def/oldstuff.html -> /abc/def/newstuff.html  (per-dir    RewriteRule)
  /abc/def/newstuff.html -> /xyz/newstuff.html(per-dir    RewriteBase)
  /xyz/newstuff.html     -> /abc/def/newstuff.html  (per-server Alias)

Результат:
  /abc/def/newstuff.html

Это кажется очень сложным однако это корректная внутренняя работа Apache, из-за того что преобразования в контексте каталога происходят слишком поздно в  этом процессе. Поэтому, когда это происходит (преобразование), запрос должен быть возвращен обратно ядру Apache! НО: В то время как это кажется серъёзным накладным расходом, в действительности это не так, потому что этот возврат происходит целиком внутри сервера Apache и та же самая процедура используется многими другими операциями внутри Apache. Поэтому, вы можете быть уверены что дизайн и реализация правильные.






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



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





Copyright © 2005-2016 Project.Net.Ru