IIS 7 URL Pārrakstīšanas kārtula / Ierobežot lietotāja pieprasījumu noteiktai mapei / failam / failu tipiem

Man ir Apache tīmekļa serveris, kas apkalpo 2 domēnus, tagad manā skolā viens domēns ir bloķēts; viena nav (šobrīd tā pati vietne). Es vēlos, lai, ja cilvēki izveidotu savienojumu ar manu veco domēnu (to, kurš nav bloķēts), tiktu novirzīts, ja vien tas nenāk no skolas IP adreses. Kā es to darītu, es zinu, ka tam ir kāds sakars .htaccess bet es nezinu, kā to izdarīt.

Izmēģiniet kaut ko līdzīgu šim augšpusē .htaccess fails (izmantojot 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] 

Kur 203.0.113.123 ir skolas ārējā IP adrese.

Tas ir tāds pats kā jebkurš cits domēna novirzīšanas domēns, tikai ar papildu nosacījumu, lai izslēgtu pieprasījumus, kas nāk no iepriekš minētās IP adreses.

ATJAUNINĀT: Ja veicat šo novirzīšanu galvenā servera konfigurācijā, iespējams, jums būs jāmaina iepriekš minētais RewriteRule nedaudz. Ja tas atrodas a Tad atstājiet konteineru tādu, kāds tas ir, pretējā gadījumā, ja tas atrodas tieši servera konfigurācijā (vai virtuālajā resursdatorā), nomainiet to uz kaut ko līdzīgu:

RewriteRule ^ http://newdomain.com%{REQUEST_URI} [R=301,L] 
  • Esmu to iestatījis, bet man tas jāpārbauda mājās, lai pārliecinātos, ka tas darbojas no cita IP.
  • 1 Tad nomainiet skolas IP adresi uz savu mājas IP adresi ... jūs domājat, ka nedaudz padomāsiet :)
  • ... bet pārliecinieties, ka pārlūkprogrammas kešatmiņa pēc tam ir notīrīta (vai pārbaudiet ar 302).
  • Nē ... nedarbojās ... Es pievienoju savā .htaccess "ErrorDocument 404 /404.html", un arī tas nedarbojās ...
  • 1 ".htaccess, šķiet, neatbild uz manis dotajām direktīvām" - Ah ... Ja ar to ErrorDocument direktīva, lieta /404.html netiek pasniegts, un jūs vienkārši saņemat standarta 404 atbildi, tad tas izklausās .htaccess faili nav iespējoti. Jums būs nepieciešams kaut kas līdzīgs AllowOverride All attiecīgajā konteiners servera konfigurācijā. Ja pēc tam sākat saņemt 500 kļūdas, jums būs jāinstalē / jāiespējo mod_rewrite. Tomēr, ja jums ir piekļuve servera konfigurācijai, ieteicams to darīt servera konfigurācijā, nevis .htaccess.

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?