Extensionless webbadresser i IIS
ibland är det viktigt att ta bort-eller dölja – filändelsen av skript som du använder. Säkerhet genom dunkelhet kan vara av den anledningen, om du inte vill att andra ska veta vilket skriptspråk du använder för din webbplats eller för statiska webbplatsvärdar. Det här exemplet döljer tillägget .php
med IIS URL Rewrite-modulen, i en färdig att använda webb.config &.htaccess exempel.
- varför behovet av att dölja filändelser i URL: er?
- dölj .php förlängning med URL omskrivning Modul på IIS
- dölj förlängning för förfrågningar som redan innehåller en .php extension
- emulera Apache Multiviews i IIS med hjälp av en .htaccess-fil och Helicon Ape
- ta bort .php förlängning med .htaccess från webbadresser
varför behovet av att dölja filändelser i URL: er?
jag är inget fan av säkerhet genom dunkelhet, och jag har aldrig stött på detta som resultatet av en säkerhetssökning.
säkerhet genom obscurity är en anledning att dölja filändelsen i URL: er, om du inte vill att andra ska veta vilket skriptspråk du använder för din webbplats. Sökmotoroptimering (SEO) är en annan giltig anledning, eller kanske du bara vill dölja filändelsen utan någon uppenbar anledning.
det finns inte heller någon fördel för SEO, så vitt jag vet.
du kan dock använda den här tekniken för att förkorta URL: er lite. Det rakar av fyra till fem tecken från webbadressen (”.php”,”.HTML”, ”.aspx”). Och vissa säger att en webbplats fungerar snabbare eftersom en webbserver kan matcha URL: er utan tillägg till mappar (kataloger) snabbare än URL: er med ett tillägg till en fil.
vissa säger. Jag har inga uppgifter eller ytterligare information om detta.
dölj .php förlängning med URL omskrivning Modul på IIS
här är en IIS URL omskrivning modul exempel för dig att dölja .php förlängning i URL: s.
denna teknik är också känd som Multiviews eller Content Negotiation i Apache, och andra kallar det extensionless URL: er. Se nedan för ett exempel att använda med .htaccess i IIS.
om MultiViews eller innehållsförhandling:
effekten av MultiViews är följande: om servern tar emot en begäran om /some/dir/foo, om /some/dir har MultiViews aktiverat och /some/dir/foo inte existerar, läser servern katalogen och letar efter filer som heter foo.* , och förfalskar effektivt en typkarta som namnger alla dessa filer, tilldelar dem samma mediatyper och innehållskodningar som det skulle ha om klienten hade bett om en av dem med namn. Den väljer sedan den bästa matchningen till kundens krav.
sätt följande omskrivning i en web.config
fil för att dölja .php-förlängning i din URL. Tja, exemplet döljer inte riktigt .php från webbadressen, men det här låter dig använda tilläggsfria webbadresser som www.example.com/index
.
IIS URL-Omskrivningsmodul lägger till .php
– delen till webbadressen i bakgrunden.
Code language: HTML, XML (xml)
dölj förlängning för förfrågningar som redan innehåller en .php extension
ett mer utökat exempel är att omdirigera alla förfrågningar med .php i webbadressen till deras förlängningslösa variant. Så när en besökare kommer in genom /index.php
, förlängs förlängningen och han kommer att riktas till /index
.
vår Omskrivningsregel kartlägger den slutliga begäran tillbaka till index.php utan att visa tillägget.
Code language: HTML, XML (xml)
testa alltid sådana exempel innan du sätter det i produktion.
emulera Apache Multiviews i IIS med hjälp av en .htaccess-fil och Helicon Ape
om du använder .htaccess i IIS kan du skapa samma Multiviews effekt för att dölja .php-förlängning. För att detta ska hända måste du förklara några omskrivningsvillkor och omskrivningsregler (RewriteCond
och RewriteRule
). Den snygga delen är, detta bör också fungera med Linux, Apache och mod_rewrite, vilket gör denna lösning plattformsoberoende!
Multivisningar .htaccess-exempel
i din .htaccess
– fil lägger du till följande omskrivningskonfiguration:
Code language: Apache (apache)
.förklaring av htaccess-regler:
det första kodblocket använder två RewriteCond
– kontroller för att verifiera om webbadressen är en fil eller mapp eller inte. Detta är mer komplett, tydligt och snabbare än att skapa ett undantag för alla möjliga filtyper. RewriteRule
skriver om webbadressen – som oftast inte innehåller ett filtillägg-till en PHP-fil med det namnet.
mönstret ^(+)(?:/(.+))?$
förklaras enligt följande:
- de omslutande tecknen
^
och$
markerar början och slutet av strängen; vilket förhindrar att regeln ibland bara matchar en del av webbadressen - gruppen
(+)
matchar namnet på PHP-filen som. Och det hittar alla tecken upp till ett snedstreck, eller slutet på strängen
- blocket
(?:/(+).)?
försöker hitta ett snedstreck, följt av andra tecken och sparar det som
ersättningen .php?(?2p=)
använder en villkorlig referens:
- frågesträngen är fylld med
p=
omfinns.
slutligen läggs en regel som döljer .php-förlängning.
detta förhindrar att en sökmotor hittar duplicerat innehåll och förhindrar därmed en straff för din webbplats position i sökresultaten.
det finns andra sätt också.
ta bort .php förlängning med .htaccess från webbadresser
för att ta bort .php förlängning från en URL med .htaccess, kan du spara följande i en ny .htaccess-fil:
Code language: Apache (apache)
Code language: Apache (apache)
eller använd MultiViews:
Code language: Apache (apache)
detta tar bort tillägget vilket gör webbadresserna mer användarvänliga och – vissa säger-SEO sökmotorvänlig. Använd det som fungerar bäst för dig och Lägg till en kanonisk metatagg i ditt HTML-huvud för att undvika duplicerat innehåll (i förekommande fall).
Hej, Jag heter Jan. Jag är inte en hacker, kodare, utvecklare eller guru. Jag är bara en systemadministratör, gör min dagliga sak på Vevida ( del av Yourhosting) / CLDIN.
om du vill ha en mer annons-och spårningsfri webbplatsupplevelse, vänligen BackMe med en liten donation (backme.org) eller Paypal.