Apache modrewrite htaccess перенаправление

Я перепробовал все варианты, которые смог найти (нашел примеры в Stack Overflow и в других местах, но они тоже не работают в моей ситуации).

Вот мой исправленный файл .htaccess:

DirectoryIndex index.html
RewriteEngine On

# New Try - apparently does nothing
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?fubar\.com
RewriteCond %{REQUEST_URI} ^/?snafu/?(.*)$
RewriteRule ^(.*) https://snafu.com/%1 [R,L]

# First try - apparently does nothing
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?fubar\.com
RewriteRule ^/?snafu/?(.*)$ https://snafu.com/$1 [R,L]

# this works as expected
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?fubar\.com
RewriteRule ^(.*)$ https://www.fubar.com/$1 [R,L]

Я показываю выше два способа, которыми я пытался вызвать http://www.fubar.com/snafu перенаправить на http://snafu.com

Ни один параграф ничего не делает.

Последний абзац в файле работает должным образом, поэтому я знаю, что Apache делает это правильно.

Очевидно, что в некоторых случаях файл работает, но я не могу понять, что не так в других случаях.

Как и было предложено, я заменил весь приведенный выше код на:

DirectoryIndex index.html
Redirect 301 /snafu https://snafu.com

Когда я пытаюсь перейти к http://www.fubar.com/snafu/index.html

Я получаю сообщение Firefox: страница не выполняет перенаправление должным образом Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который никогда не будет завершен.

Однако в окне URL-адреса браузера отображается желаемый пункт назначения https://snafu.com/index.html

Отчеты Chrome: страница snafu.com не работает snafu.com слишком много раз перенаправлял вас. ERR_TOO_MANY_REDIRECTS

Опять же, в окне URL-адреса браузера отображается желаемый пункт назначения https://snafu.com/index.html

Internet Explorer говорит: не найдено Запрошенный URL /snafu.com/index.html не найден на этом сервере.

Opera сообщает: страница snafu.com не работает snafu.com слишком много раз перенаправлял вас.

Safari сообщает: Safari не может открыть страницу «https://snafu.com/index.html», потому что Safari не может установить безопасное соединение с сервером «snafu.com».

Я не знаю, важно ли это, но и fubar.com, и snafu.com имеют один и тот же IP-адрес - если я очищу кеш браузера, я могу без проблем напрямую перейти к https://snafu.com/index.html, поэтому снова кажется, что Apache делает свое дело правильно.

Корневой каталог snafu.com содержит файл .htaccess ниже, который, похоже, работает должным образом:

DirectoryIndex index.html
RewriteEngine On 

RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?snafu.fubar\.com
RewriteRule ^(.*)$ https://snafu.com/$1 [R,L]

RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?snafu\.com
RewriteRule ^(.*)$ https://snafu.com/$1 [R,L]

Удаление этого файла не меняет поведения браузера.

Мое предварительное заключение состоит в том, что простая команда Redirect 301 / snafu https://snafu.com сбивает с толку, потому что и snafu, и fubar имеют один и тот же IP-адрес. Но ModRewrite должен быть умнее - я просто недостаточно умен, чтобы придумать правильное заклинание.

Где я ошибаюсь? Моя цель - сделать так, чтобы все существующие ссылки, которые ссылаются на fubar.com/snafu, перенаправлялись на snafu.com, чтобы поисковые системы не запутались в двух разных способах доступа к одному и тому же контенту.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
27
1

Ответы 1

Можешь попробовать добавить это в свой htaccess

Redirect 301 /snafu http://snafu.com

Другие вопросы по теме