Я создаю каталог проектов моей компании, которые будут жить как локально (с использованием MAMP на данный момент), так и на нашем промежуточном сервере.Условное перенаправление в .htaccess с использованием RewriteCond
То, что я пытаюсь сделать, это иметь один .htaccess
, который будет условно перенаправлять в зависимости от того, где он запрашивается.
У меня есть первая часть, работающая отлично - от корня промежуточного сервера до нашей домашней страницы.
RewriteEngine On
RewriteCond %{HTTP_HOST} staging.com
RewriteRule (.*) http://www.homepage.com [R=301,L]
Это часть, которую я не могу понять. Если вы просматриваете наш локальный сервер в корневом каталоге (например, http://102.168.0.27:8888
), я хотел бы перенаправить его в папку в том же домене (например, http://102.168.0.27:8888/directory
). Просмотр любой папки (http://102.168.0.27:8888/*
) не должен перенаправляться только в том случае, если не указана никакая папка.
Слишком сложное, что IP-адрес может измениться, и я не хочу его обновлять. Я также не хочу указывать папки в этом домене, которые не должны перенаправляться; это должна быть ЛЮБАЯ папка.
Другой редирект локально достаточно легко, я просто не могу получить его, чтобы удовлетворить мои требования к папкам:
RewriteCond %{HTTP_HOST} !staging.com
RewriteRule (.*) /directory [R=301,L]
Резюмируя:
- В корневом каталоге постановка сервера, перенаправление на главную страницу
- Локально, перенаправлять в папку, если ни один не указан
- Локально не перенаправлять, если указан каталог
- Не указать локальный домен/IP
- Не указывать имена папок
Все локальные сети используют порт 8888? потому что вы можете подключить свои условия к этому – yoavmatchulsky
Да, всегда этот порт. Я пойду. –