Что такое синтаксис httaccess для:

Redirect http://.../anything to http://.../blog/anything
except if anything exists (file or directory)

Пожалуйста, объясните, а не просто дайте правила.

2 ответа2

3

Вам нужно будет загрузить модуль mod_rewrite в Apache. Затем вы можете указать правила в вашем файле .htaccess :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /blog/$1 [L,R=301]

Операторы RewriteCond проверяют, что запрошенное имя файла не является существующим файлом или каталогом. RewriteRule использует регулярное выражение для соответствия всей строке, которая хранится в переменной $1 . Фактический редирект HTTP 301 - это /blog/$1 .

0

Вы должны использовать

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /blog/$1 [L,R=301]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .