Попытка разрешить доступ к моему веб-сайту по указанной ссылке c с использованием .htaccess - PullRequest
0 голосов
/ 03 марта 2020

Я использую Ubuntu 18.04 с Apache версией 2.4 и имею один домен и два веб-сайта

домен: this.domain

website1 website.this.domain

website2 web-site.this.domain

я пытаюсь разрешить доступ к website1 ТОЛЬКО если ссылка нажата с website2, это означает, что вы вводите website.this.domain из адресной строки он перенаправит вас на сайт2, в противном случае, если вы пришли с сайта2, вы сможете получить доступ к странице.

Мой .htaccess:

RewriteEngine on
RewriteBase /
RewriteCond ^{HTTP_REFERER} ^https://web-site.this.domain/
RewriteRule ^ - [L]
RewriteRule ^ https://web-site.this.domain [R,L]

Код блокирует прямой доступ людей и позволяет людям, которые приходят с веб-сайта2. Проблема в том, что когда у людей есть доступ, он не загружает страницу со всеми данными, которые я пытался проверить, кажется, что он показывает Network Error 0x80070005, Access is denied. Если я уберу правила, все будет нормально, но он будет доступен снаружи и изнутри.

Пока я пробовал также

<If %{HTTP_HOST} !='https://web-site.this.domain'">
Redirect / https://web-site.this.domain
</If>

Проблема в том, что не имеет значения, откуда запрос (прямой или по ссылке), он всегда перенаправляет меня на веб-сайт2, я также пытался {HTTP_REFERER} по-прежнему безуспешно.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 03 марта 2020

решение было:

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^web\-site\.this\.domain [NC]
RewriteRule ^ - [L,NC]
RewriteRule ^ - [F,NC]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...