WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   /<username> ála Lunarstorm (https://www.wn.se/forum/showthread.php?t=19186)

Kaktus 2007-02-09 10:53

Citat:

Originally posted by stakes@Feb 8 2007, 14:31
Mod rewrite är lösningen:
t.ex. Skapa filen .htaccess och lägg den där du vill att reglerna ska gälla.

RewriteEngine on
RewriteRule ^test/ /test.php [T=application/x-httpd-php]
gör så att länken test.php går till /test/
Läs mer här:
http://www.modrewrite.com/
mvh
Daniel


Har aldrig varit någon hejare på regExp men, det borde inte vara så svårt att få den att känna igen mönstret av ett möjligt username.
Men fattar inte riktigt det där med hur det fungerar när man skriver in en katalog som finns på riktigt. Som sagt ska läsa om om mod_rewrite innan jag börjar ställa massa dumma frågor!

Kaktus 2007-02-09 10:54

Citat:

Originally posted by eg0master@Feb 8 2007, 15:44
Nu är jag ingen hjälte på modrewrite men kräver inte den lösningen som presenteras att man i htaccess känner till namnet på alla användare?
En annan klassisk variant är en egen 404 handler (kanm även den sättas upp med htaccess) som kollar vilken katalog man försöker komma till, kollar om det finns en användare med det namnet och redirectar i så fall dit.

Vet du någonsant man kan läsa på om hur man styr sina 404-sidor? Hade varit grymt!

2cool4school 2007-02-09 11:31

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* din-php-404-sida.php [QSA,L]

eg0master 2007-02-09 17:09

Kaktus:
Eftersom du kör php antar jag även apache:
Lägg till (om du inte har det redan) en .htaccess i rooten med följande innehåll:
Kod:

ErrorDocument 404 /404.php
Skapa 404 handler i filen 404.php.
Den URL som efterfrågas hittar du i $_SERVER['REQUEST_URI'] och det är bara att parsa den efter eget behag.

En viktig sak dock: Om du redirectar till en OK sida måste du skriva om statuskoden med:
Kod:

header('HTTP/1.1 200 OK');
Annars kommer browsern ändå få ett 404 fel och vissa browsar (speciellt IE) visar då inte det som skall visas utan en egen 404 sida.
Om du verkligen vill att det skall vara ett 404 fel är det bara att skriva ut som vanligt.

Ett exempel på vad du får ut finns här: http://plugincms.com/Test404/Jag+gillar+WN

2cool4school 2007-02-09 18:33

Vad är det för fel på det jag ovan skrev? Är det någon nämnvärd skillnad?

eg0master 2007-02-09 21:26

Citat:

Originally posted by 2cool4school@Feb 9 2007, 19:33
Vad är det för fel på det jag ovan skrev? Är det någon nämnvärd skillnad?
Nej det är inget fel, men om du läser så efterlyser kaktus info om en lösning utan mod_rewrite. 404 lösningen gör exakt samma sak. lite omständigare kanske, men möjligen lite enklare att skräddarsy. Dessutom funkar den även om modrewrite inte skulle stödjas av servern.

Men om mod_rewrite är ett alternativ så skall man definitivt överväga det i första hand eftersom jag misstänker att prestenda blir betydligt bättre med det.

Kaktus 2007-02-25 17:10

Citat:

Originally posted by eg0master@Feb 9 2007, 18:09
Kaktus:
Eftersom du kör php antar jag även apache:
Lägg till (om du inte har det redan) en .htaccess i rooten med följande innehåll:
Kod:

ErrorDocument 404 /404.php
Skapa 404 handler i filen 404.php.
Den URL som efterfrågas hittar du i _SERVER[REQUEST_URI] och det är bara att parsa den efter eget behag.
En viktig sak dock: Om du redirectar till en OK sida måste du skriva om statuskoden med:
Kod:

headerHTTP/1.1 200 OK;
Annars kommer browsern ändå få ett 404 fel och vissa browsar (speciellt IE) visar då inte det som skall visas utan en egen 404 sida.
Om du verkligen vill att det skall vara ett 404 fel är det bara att skriva ut som vanligt.
Ett exempel på vad du får ut finns här: http://plugincms.com/Test404/Jag+gillar+WN

Precis den information jag behövde! Tusen tack! Ledsen att jag inte svarat innan!

Kaktus 2007-02-25 17:11

Citat:

Ursprungligen postat av eg0master
Citat:

Ursprungligen postat av 2cool4school
Vad är det för fel på det jag ovan skrev? Är det någon nämnvärd skillnad?

Nej det är inget fel, men om du läser så efterlyser kaktus info om en lösning utan mod_rewrite. 404 lösningen gör exakt samma sak. lite omständigare kanske, men möjligen lite enklare att skräddarsy. Dessutom funkar den även om modrewrite inte skulle stödjas av servern.
Men om mod_rewrite är ett alternativ så skall man definitivt överväga det i första hand eftersom jag misstänker att prestenda blir betydligt bättre med det.

Det är kanon, nu kan jag båda vägarna, det är alltid bäst! :)

Kaktus 2007-02-25 17:12

Citat:

Originally posted by 2cool4school@Feb 9 2007, 12:31
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule .* din-php-404-sida.php [QSA,L]

Skäms när jag säger att jag inte haft tid att läsa på om mod_rewrite men det låter väldigt intressant och snart är det måste så då får jag helt enkelt åsidosätta tid åt det!
Tack!

Kaktus 2007-02-25 17:13

Jag vill tacka för alla urbra svar! Jag kan inte lova att jag återkommer mer på denna tåden, nu ska jag utforska allt ni lärt mig! Tack!


Alla tider är GMT +2. Klockan är nu 02:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson