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 jakoAllowOverride 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
.