IIS 7 URL Rewrite Rule / Omezit požadavek uživatele na konkrétní složku / soubor / typy souborů

Mám webový server Apache, který obsluhuje 2 domény, nyní je v mé škole jedna doména blokována; jedna není (prozatím stejná webová stránka). Chci, aby se lidé, kteří se připojí k mé staré doméně (té, která není blokována), přesměrováni, pokud to nepochází z adresy IP školy. Jak bych to udělal, vím, že to má něco společného .htaccess ale nevím, jak to udělat.

Zkuste něco jako následující v horní části vašeho .htaccess soubor (pomocí mod_rewrite):

RewriteEngine On RewriteCond %{HTTP_HOST} olddomain\.com [NC] RewriteCond %{REMOTE_ADDR} !203\.0\.113\.123 RewriteRule (.*) http://newdomain.com/$1 [R=301,L] 

Kde 203.0.113.123 je externí IP adresa školy.

Toto je stejné jako u jakékoli jiné přesměrování mezi doménami, pouze s další podmínkou pro vyloučení požadavků přicházejících z výše uvedené adresy IP.

AKTUALIZACE: Pokud toto přesměrování provedete v hlavní konfiguraci serveru, bude pravděpodobně nutné změnit výše uvedené RewriteRule mírně. Pokud je to v kontejner pak nechte tak, jak je, jinak, pokud je to přímo v konfiguraci serveru (nebo virtuálního hostitele), změňte to na něco jako:

RewriteRule ^ http://newdomain.com%{REQUEST_URI} [R=301,L] 
  • Nastavil jsem to, ale musím to doma otestovat, abych se ujistil, že to funguje z jiné IP.
  • 1 Poté změňte školní IP adresu na domácí IP adresu ... očekává se, že budete trochu přemýšlet :)
  • ... ale ujistěte se, že je mezipaměť prohlížeče následně vymazána (nebo otestujte pomocí 302).
  • Ne ... Nefungovalo to ... Přidal jsem do svého .htaccess „ErrorDocument 404 /404.html“ a ani to nefungovalo ...
  • 1 „Zdá se, že .htaccess nereaguje na směrnice, které mu dávám“ - Ah ... Pokud s tím ErrorDocument směrnice, soubor /404.html není obsluhováno a dostanete pouze standardní odpověď 404, pak to zní .htaccess soubory nejsou povoleny. Budete potřebovat něco jako AllowOverride All v příslušném kontejner v konfiguraci serveru. Pokud pak začnete dostávat 500 chyb, budete také muset nainstalovat / povolit mod_rewrite. Pokud však máte přístup ke konfiguraci serveru, bude lepší to udělat v konfiguraci serveru místo .htaccess.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?