Extensionless Urler i IIS
noen ganger er det viktig å fjerne-eller skjule – filtypen av skript du bruker. Sikkerhet ved uklarhet kan være den grunnen, hvis du ikke vil at andre skal vite hvilket skriptspråk du bruker for nettstedet ditt, eller for statiske nettstedsverter. Dette eksemplet vil skjule .php
– utvidelsen ved hjelp av IIS URL Rewrite-modulen, i en klar til bruk-web.konfigurasjon & .htaccess eksempel.
Hvorfor behovet for å skjule filtyper I URL-er?
jeg er ingen fan av sikkerhet ved uklarhet, og jeg har aldri møtt dette som resultat av en sikkerhetsskanning.
Sikkerhet ved uklarhet er en grunn til å skjule filtypen I URL-er, hvis du ikke vil at andre skal vite hvilket skriptspråk du bruker for nettstedet ditt. Søkemotoroptimalisering (SEO) er en annen gyldig grunn, eller kanskje du bare vil skjule filtypen uten tilsynelatende grunn.
DET er heller ingen fordel FOR SEO, så vidt jeg vet.
du kan imidlertid bruke denne teknikken til å forkorte URL-ER litt. Det barberer av fire til fem tegn fra NETTADRESSEN («.php», «.HTML», «.aspx»). Og noen sier at et nettsted utfører raskere fordi en webserver kan matche URL-er uten utvidelser til mapper (kataloger) raskere enn URL-ER med en utvidelse til en fil.
noen sier. Jeg har ingen data eller ytterligere informasjon om dette.
Skjul .php utvidelse MED URL Rewrite Modul på IIS
Her er en IIS URL Rewrite Modul eksempel for deg å skjule .php forlengelse I URL-tallet.
denne teknikken er også kjent Som Multiviews eller Content Negotiation I Apache, og andre kaller det extensionless URLs. Se nedenfor for et eksempel å bruke med .htaccess i IIS.
Om MultiViews, eller innholdsforhandlinger:
Effekten Av MultiViews er som følger: hvis serveren mottar en forespørsel om/some/dir /foo, hvis/some /dir har MultiViews aktivert, og/some/dir / foo ikke eksisterer, leser serveren katalogen på jakt etter filer som heter foo.* , og effektivt finter opp en type kart som navngir alle disse filene, tildele dem de samme medietyper og innhold-kodinger det ville ha hvis klienten hadde bedt om en av dem ved navn. Den velger deretter den beste kampen til kundens krav.
Sett folgende omskrivning i en web.config
fil for a skjule den .php-utvidelse i NETTADRESSEN din. vel, eksemplet skjuler egentlig ikke.php FRA NETTADRESSEN, men dette lar deg bruke utvidelsesfrie NETTADRESSER som www.example.com/index
.
IIS ‘ URL-Omskrivingsmodul legger til .php
– delen TIL NETTADRESSEN i bakgrunnen.
Code language: HTML, XML (xml)
Skjul utvidelse for forespørsler som allerede inneholder en .php extension
et mer utvidet eksempel er å omdirigere alle forespørsler med .php I URL til deres forlengelse-mindre variant. Så når en besøkende kommer inn gjennom /index.php
, blir utvidelsen fjernet og han vil bli sendt til /index
.
Vår Omskrivningsregel kartlegger den endelige forespørselen tilbake til indeksen.php uten å vise utvidelsen.
Code language: HTML, XML (xml)
test alltid slike eksempler før du setter det i produksjon.
Emulere Apache Multiviews i IIS ved hjelp av en .htaccess-fil Og Helicon Ape
hvis du bruker .htaccess i IIS kan du opprette samme Multiviews-effekt for a skjule den .php forlengelse. For at dette skal skje må du erklære noen omskrivningsbetingelser og omskrive regler (RewriteCond
og RewriteRule
). Den fine delen er, dette bør også fungere Med Linux, Apache Og mod_rewrite, noe som gjør denne løsningen kryssplattform!
Multiviews .htaccess eksempel
i filen .htaccess
legger du til følgende omskrivningskonfigurasjon:
Code language: Apache (apache)
.forklaring av htaccess-regler:
den første kodeblokken bruker to RewriteCond
kontroller for å kontrollere OM NETTADRESSEN er en fil eller mappe. Dette er mer komplett, klart og raskere enn å lage et unntak for hver filtype mulig. RewriteRule
skriver OM NETTADRESSEN-som for det meste ikke inneholder en filtype – til EN PHP-fil med det navnet.
mønsteret ^(+)(?:/(.+))?$
forklares som følger:
- de omsluttende tegnene
^
og$
markerer begynnelsen og slutten av strengen; som forhindrer at regelen noen ganger bare samsvarer med EN del AV NETTADRESSEN - gruppen
(+)
samsvarer med NAVNET PÅ PHP-filen som. Og det finner alle tegnene opp til en skråstrek, eller slutten av strengen
- blokken
(?:/(+).)?
prøver å finne en skråstrek, etterfulgt av andre tegn, og lagrer den som
erstatningen .php?(?2p=)
bruker en betinget referanse:
- spørringsstrengen er fylt med
p=
hvisfinnes.
Til Slutt legges en regel som skjuler den .php forlengelse.
dette forhindrer at en søkemotor finner duplikatinnhold, og forhindrer dermed en straff for nettstedets posisjon i søkeresultatene.
Det finnes også andre måter.
Fjern .php utvidelse med .htaccess Fra Nettadresser
for a fjerne Den .php forlengelse fra EN URL med .htaccess, kan du lagre følgende i en ny .htaccess-fil:
Code language: Apache (apache)
Code language: Apache (apache)
eller bruk MultiViews:
Code language: Apache (apache)
dette fjerner utvidelsen gjør Nettadressene mer bruker og – noen sier-SEO søkemotor vennlig. Bruk det som fungerer best for deg, og legg til en kanonisk metakode i HTML-hodet ditt for å unngå duplikat innhold (der det er hensiktsmessig).
Hei, Mitt Navn Er Jan. Jeg er ikke en hacker, koder, utvikler eller guru. Jeg er bare en systemadministrator, gjør min daglige ting på Vevida (del Av Yourhosting) / CLDIN.
hvis du vil ha en mer annonse – og sporingsfri nettsideopplevelse, Vennligst BackMe med en liten donasjon (backme.org) Eller Paypal.