Условное перенаправление htaccess - PullRequest
0 голосов
/ 28 августа 2018

Можно ли сделать условное перенаправление с использованием .htaccess таким образом, что если кто-то получит прямой доступ к моему домену (example.com), он будет перенаправлен на поддомен (subdomain.example.com) или может быть на другой домен, но если кто-то получает к нему доступ через определенный URL-адрес (example.com/magic), он перенаправляется на example.com, то есть на основной домен.

Другими словами, я хотел, чтобы мои пользователи имели доступ к основному домену (example.com), только если они используют example.com/magic. Мой htaccess в настоящее время перенаправляет всех пользователей основного домена на поддомен.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^/?$ "https\:\/\/sub\.example\.com" [R=301, L]

Я не смог найти, как поместить условие в мой htaccess.

1 Ответ

0 голосов
/ 28 августа 2018

Вы можете использовать это правило для перенаправления каждого URI, который не является /magic или /magic/, на поддомен:

RewriteEngine On

# redirect /magic
RewriteRule ^magic/?$ / [L,NC,R=301]

# redirect anything except /magic
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule !^(magic/?)?$ https://sub.example.com [R=301,L,NE]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...