Как получить это перенаправление if-else в htaccess? - PullRequest
0 голосов
/ 27 марта 2019

Это мой код htaccess в определенной папке:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
</IfModule>

Как я могу сделать это так, если HTTP_REFERER - это мой собственный сайт, а если нет, то перенаправить на определенный файл?

Я пробовал что-то подобное, но это не работает:

  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} ^http://.*MYSITE.*$ [NC]
    RewriteRule ^index\.php$ - [L]
    RewriteRule (.*) ./index.php?id=$1 [L]
    RewriteCond %{HTTP_REFERER} !^http://.*MYSITE.*$ [NC]
    RedirectMatch 301 ^(.*)$ MYFILE.jpg
</IfModule>

Я уже просмотрел несколько сообщений на эту тему, но ничего не получилось так, как я хочу. Спасибо

1 Ответ

1 голос
/ 28 марта 2019

Вы можете использовать это:

 RewriteEngine on

#if http_referer is not my site then redirect the request 
RewriteCond %{HTTP_REFERER} !mysite\.com [NC]
RewriteCond %{REQUEST_URI} !/thispage\.php [NC]
RewriteRule (.*) http://example.com/thispage.php [L,R=301]
#rules for mysite.com
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...