Линия RewriteBase /
иногда используется для разрешения относительных URI в целевой и/или шаблонах RewriteRule
. Например, если файл Htaccess находится в каталоге /foo
, и у вас есть правила, которые могли бы выглядеть примерно так:
RewriteEngine On
RewriteBase /foo/
RewriteRule ^bar$ index.php?bar [L]
Здесь, цель создания правила index.php?bar
является относительным URI и база получает предваряется к нему , что приводит к URI: /foo/index.php?bar
. Когда цель правила относительна, apache делает предположение относительно того, является ли URI файловым путем или URL-адресом, и он не всегда правильно угадывает. С помощью RewriteBase /foo/
apache знает, что /foo/index.php
- это URL-путь. Могут быть случаи, когда база перезаписи не соответствует папке, в которой она находится, но результат все тот же. Он действует как база URI для относительных URI, которые находятся в правилах.
Не имеет значения, если по какой-то причине вы не хотите, чтобы определенные относительные URI отображались на пути к файлам.
директива AddDefaultCharset
не относится к набору символов файла Htaccess, это часть ответа, что веб-сервер дает на запросы, когда запрашиваемый контент типа text/html
или text/plain
. Опять же, не помешает иметь это в вашем файле htaccess, если вы не являетесь текстовым или html-контентом, на самом деле это некоторая другая кодировка (например, * shift_jis *).
Еще раз большое спасибо! Вся хорошая информация, и я думаю, что это было предпочтение кодирования от имени автора учебника. Отлично! – mileaminute