hur gör man för att apache automatiskt ska lägga på / på en adress om det inte finns nån fil med det namnet.
typ
http://localhost/mapp ska bli http://localhost/mapp/
eftersom filen 'mapp' inte fanns men mappen 'mapp' fanns...
18 svar · 493 visningar · startad av zOLOz
hur gör man för att apache automatiskt ska lägga på / på en adress om det inte finns nån fil med det namnet.
typ
http://localhost/mapp ska bli http://localhost/mapp/
eftersom filen 'mapp' inte fanns men mappen 'mapp' fanns...
Ger den med defaultinställningarna (i.a.f. på de installationer jag gjort).
hur ser dom ut då?
Titta i den som följer med Apache (när du laddar ner mjukvaran).
Beroende på om Apache kan slå upp maskinnamnet korrekt så kan man behöva sätta ServerName till något vettigt för att detta fungera.
ingen som vet? ska man använda sig av mod_rewrite?
ingen som vet?
Jo, jag vet.
ska man använda sig av mod_rewrite?
Nä.
Läste du FAQ:n jag länkade till? Det är hyffsat "rude" att bara ignorera ett svar, och fråga vidare som om man inte fått något svar ö.h.t. Jobbar dagligen med Apache-servrar på ett av sveriges största företag, så jag kan Apache. Men det är svårt att lösa ditt problem när man inte får någon input.
Hjälpte det inte att sätta ServerName? Eller vad?
jag såg inte ditt svar först, det var därför det såg ut som att jag ignorerade det.. :/
jag testade att byta servername till http://192.168.0.2/ för att se om det funkade över det lokala nätverket, men det gjorde det inte..
Ok. Det är lugnt. :)
Du använder alltså IP-adressen för att komma åt webbservern? Om du använder datornamnet i stället (localhost t.ex.), och sätter ServerName till det (enbart namnet, utan http:// eller avslutande /). Eller prova att sätta det till 192.168.0.2 om du inte vill använda namn (osäker på om det fungerar med en IP-adress då jag inte provat det).
Vad säger felmeddelandet du får i webbläsaren när det inte fungerar?
Kort om hur detta fungerar (för att man skall förstå problemet). När din webbläsare skickar en förfrågan om att få http://localhost/mapp så skickar apache tillbaka en redirect till http://<ServerName>/mapp/ (där <ServerName> antingen är det ServerName du angett, eller en DNS-uppslagning om inte ServerName är angett i httpd.conf). Om ServerName är fel satt så kommer detta naturligtvis inte att fungera (eftersom webbläsaren inte kan hitta servern).
hmm.. ska testa..
men det kommer att betyda att jag ska skriva dit mitt ipnummer som jag har mot internet eftersom annars så kommer inte andra personer att komma åt mappen..
om jag sätter ServerName till 192.168.0.2 så kommer den som vill in på http://rikt.iga.ip.numret/mapp att komma till http://192.168.0.2/mapp/ eller har jag fel?
om jag sätter ServerName till 192.168.0.2 så kommer den som vill in på http://rikt.iga.ip.numret/mapp att komma till http://192.168.0.2/mapp/ eller har jag fel?
Du har aldeles rätt.
Finns ett alternativt sätt att lösa detta på, som gör att du kan skicka http://rikt.iga.ip.numret/mapp/ till dem som begär http://rikt.iga.ip.numret/mapp samt http://192.168.0.2/mapp/ till dem som begär http://192.168.0.2/mapp och det är mod_rewrite.
Kolla in följande sida för exempel:
http://httpd.apache.org/docs/misc/rewriteguide.html
(Bläddra ner till rubriken "Trailing Slash Problem")
Blir lite mer omständigt, men fungerar. Finns även en andra lösning på detta problem, och det är att använda "virtual hosts", en för varje IP. Då kan du ha en ServerName för varje virtuell server. Känns dock som om det är lite overkill i ditt fall.
ok, tack för ditt svar.. ska testa det..
det där med mod_rewrite verkar svårt... dessutom har jag inte det.. (tror jag).. men det funkar iaf fint med ServerName riktigaipnummret
Tror inte mod_rewrite installeras som default, så du kan eventuellt behöva kompilera om Apache med stöd för mod_rewrite (eller leta upp en binär distribution som inkluderar det) om du vill använda det.
det där med mod_rewrite verkar svårt...
Kan vara lite knepigt att sätta sig in i, men är väldigt användbart när man lärt sig det. :)
Har samma problem som zOLOz med avsaknad av efterföljande slashar. Jag änvänder mig dock av localhost eller colione för att nå sidan internt, skälet till att jag installerade apache var för att jag på ett tillfredställande sätt skulle kunna köra spyce (Python server pages). Jag har tittat på det där med mod_rewrite men förstår inte hur eller var jag ska skriva det i httpd.config.
Har samma problem som zOLOz med avsaknad av efterföljande slashar.
Samma lösning borde fungera för dig. Men du får sätta ServerName till localhost eller colione i stället då.
Nepp, är inne och pular i httpd.config och har satt servername till colione...raden ser ut såhär:
ServerName colione:80
Sedan har jag startat om Apache, men det är inget som händer.
Det blev ingen skillnad. Jag skriver colione/spyce men det blir fel skriver jag däreomt colione/spyce/ kommer jag rätt direkt.