Подтвердить что ты не робот

Перенаправить сайт с .htaccess, но исключить одну папку

Я хочу 301 перенаправить весь сайт, но исключить все в папке с именем /uploads которая существует в каталоге /root.

Я гуглил по этому поводу, но ничего не придумал, или я не думал, что то, что я видел, было правильным.

Можем ли мы взломать это?

4b9b3361

Ответ 1

Попробуйте mod_rewrite правило:

RewriteEngine on
RewriteRule !^uploads($|/) http://example.com%{REQUEST_URI} [L,R=301]

Это правило соответствует любому пути URL-адреса, который не начинается с /uploads или /uploads/ (в шаблоне отсутствует ведущий / из-за удаления префикса пути при использовании в файлах .htaccess) и перенаправляет запрос на соответствующий путь в example.com.

Ответ 2

Простой ответ Я просто наткнулся на себя.

В верхней части перед любыми другими вызовами добавьте следующий

RewriteRule ^(uploads) - [L]

Ответ 3

Я думаю, вы этого хотите:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/uploads/
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Если вы получите 500 Internal Error, то дважды проверьте, что у вас есть пробел между } и ! во второй строке.

Ответ 4

Решение на основе mod-alias

Перенаправить все, кроме определенной папки

Добавьте следующую строку в ваш root/.htaccess:

RedirectMatch 301 ^/((?!uploads).*)$ http://newdomain.com/$1

Это перенаправит все страницы (исключая/uploads/*) из старого домена в новый домен.