| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | 404-error-page som fange den efterspurgte ~ Fra : Martin Sand | 
  Dato :  23-09-09 14:55 |  
  |  
 
            Hej Alle! 
 Jeg har en hjemmeside hvor jeg indtil nu kun har kørt
 ikke-dynamiske sider. Altså siderne havde hver deres
 fil(asp/html), til at ligge i et heraki. f.eks:
 http://www.martinsand.dk/mappe/mappe/fil
Nu er jeg så begyndt at lege med tanken om at lave mit eget lille
 cms hvor jeg vil hente sidernes indhold fra en database. 
 Jeg har så fået den tanke om det var muligt at på en 404-error
 side, at detektere, hvilken url, man spurgte efter? For så ville
 jeg jo kunne lave mit site både med filer i hiraki og hvis ikke
 de findes, så ville man kunne slå op i en database i
 404.asp-siden. 
 så jeg ville kunne tilgå sider fra database sådan:
 http://www.martinsand.dk/navn/navn/side . hvor "navn/navn/side"
 så ville kunne slåes op i databasen og hente indhold den vej.
 Så mit endelige spørgsmål er hvordan jeg fanger den efterspurgte
 url på en 404 side? 
 MVH Martin Sand Nielsen
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
           Stig Johansen (23-09-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  23-09-09 18:09 |  
  |  
 
            Martin Sand wrote:
 > Nu er jeg så begyndt at lege med tanken om at lave mit eget lille
 > cms hvor jeg vil hente sidernes indhold fra en database.
 > 
 > Jeg har så fået den tanke om det var muligt at på en 404-error
 > side, at detektere, hvilken url, man spurgte efter? For så ville
 > jeg jo kunne lave mit site både med filer i hiraki og hvis ikke
 > de findes, så ville man kunne slå op i en database i
 > 404.asp-siden.
 > 
 > så jeg ville kunne tilgå sider fra database sådan:
 >  http://www.martinsand.dk/navn/navn/side . hvor "navn/navn/side"
 > så ville kunne slåes op i databasen og hente indhold den vej.
 > 
 > Så mit endelige spørgsmål er hvordan jeg fanger den efterspurgte
 > url på en 404 side?
 Det kan man godt, men det kræver adgang til opsætning af serveren, som du
 nok ikke har mulighed for hos one.com.
 Du tænker nok på URL rewriting, hvor URL'en bliver oversat til et, for
 serveren, forståeligt format, men her kræver det også et (ISAPI) plugin, på
 samme måde som mod_rewrite til Apache.
 Der var vist engang hvor søgemaskiner ikke fulgte den fulde URI, men det er
 vist fra sidste årtusinde.
 Du kan i stedet lave et cms, hvor du eksempelvis bruger:
 http://www.martinsand.dk/cms.asp?subject=navn/navn/side
-- 
 Med venlig hilsen
 Stig Johansen
            
              |   |   
            
        
 
            
         
           Martin Sand (24-09-2009) 
         
	
            | Kommentar Fra : Martin Sand | 
  Dato :  24-09-09 13:07 |  
  |   
            
> Det kan man godt, men det kræver adgang til opsætning af serveren, som du 
 > nok ikke har mulighed for hos one.com. 
 Hos One.com kan jeg bruge apache's modRewrite, og det er da også i apaches
 ..htaccess-fil, at jeg kan angive hvilken side der skal være 404-error-page. 
 Men det smarte ved at kunne bruge 404 ville jeg være at jeg både kunne have
 faktiske filer i hieraki, og hvis ikke det findes, så bliver der søgt i en
 database... 
 Så man kan ikke på en asp side se hvilken side den er "sendt fra" eller
 noget i den stil. Enten hvilken url, der sidst blev åbnet, eller hvilken
 url, der står i browserens adressbar..?
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
            Leif Neland (24-09-2009) 
         
	
            | Kommentar Fra : Leif Neland | 
  Dato :  24-09-09 17:12 |  
  |   
            Martin Sand skrev:
 >> Det kan man godt, men det kræver adgang til opsætning af serveren, som du 
 >> nok ikke har mulighed for hos one.com. 
 > 
 > Hos One.com kan jeg bruge apache's modRewrite, og det er da også i apaches
 > .htaccess-fil, at jeg kan angive hvilken side der skal være 404-error-page. 
 
 Når du skriver i asp-gruppen, så er det logisk at regne med at du kører 
 asp på IIS.
 Så kræver det, at en administrator går ind via et gui, og sætter en 
 custom 404-side op; IIS kender ikke til .htaccess. Det vil sikkert koste 
 dig penge...
 
 Havde du i stedet for en proprietær webserver valgt at køre på et 
 webhotel, der bruger en standard-webserver som Apache, ville du selv 
 kunne have lavet en custom 404-handler.
 
 > Men det smarte ved at kunne bruge 404 ville jeg være at jeg både kunne have
 > faktiske filer i hieraki, og hvis ikke det findes, så bliver der søgt i en
 > database... 
 
 Det er helt korrekt.
 
 > Så man kan ikke på en asp side se hvilken side den er "sendt fra" eller
 > noget i den stil. Enten hvilken url, der sidst blev åbnet, eller hvilken
 > url, der står i browserens adressbar..?
 > 
 Den url, brugeren ville have haft, kan 404-handleren hente i 
 request.querystring.
 Og der fås en normal Request.ServerVariables("HTTP_REFERER")
 
 404-siden kan hente siden fra databasen og vise den for brugeren, og 
 URL'en ændrer sig ikke, så brugeren opdager ikke, at siden ikke findes 
 "i virkeligheden"
 
 Leif
 
 
  
            
             |   |   
            
        
 
            
         
             Martin Sand (01-10-2009) 
         
	
            | Kommentar Fra : Martin Sand | 
  Dato :  01-10-09 19:12 |  
  |   
            
> Når du skriver i asp-gruppen, så er det logisk at regne med at du kører  
 > asp på IIS. 
 > Så kræver det, at en administrator går ind via et gui, og sætter en  
 > custom 404-side op; IIS kender ikke til .htaccess. Det vil sikkert koste  
 > dig penge... 
 Jeg har nettop en apache server hos one.com, som kan køre asp... 
 Jeg kan bruge .htacces filen, det jeg skriver deri virker ihvertfald :)
 Her er koden jeg har i den:
 ----
 RewriteEngine    On
 RewriteCond    %{HTTP_HOST}      !^ www.martinsand.dk$ [NC]
 RewriteRule    ^(.*)$             http://www.martinsand.dk/$1 [R]
 ErrorDocument    403             /404.asp 
 ErrorDocument    404             /404.asp 
 ----
 Den åbner også 404.asp hvis jeg efterspørger en ikke eksisterende side. Men
 hvilken kode vil I mene, at jeg bør have på 404.asp, for at fange hvilken url
 "der ikke fandtes i første omgang" ? 
 MVH
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
              Stig Johansen (02-10-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  02-10-09 01:44 |  
  |   
            "Martin Sand" <martin.sand.nielsen@hotmail.com> wrote in message
 news:4ac4f108$0$281$14726298@news.sunsite.dk...
 >
 > Den åbner også 404.asp hvis jeg efterspørger en ikke eksisterende side.
 Men
 > hvilken kode vil I mene, at jeg bør have på 404.asp, for at fange hvilken
 url
 > "der ikke fandtes i første omgang" ?
 Som Leif skriver, så ligger det i request.querystring (på IIS).
 
 Jeg har et lille 'info' program jeg bruger til at finde ud af den slags.
 Her er det essentielle af koden:
 .....
 <h4>Request.Form section</h4>
 <p><table><tr><th>Form Variable</th><th>Value</th></tr><%
 Dim Item
 For Each Item In Request.Form
 %><tr><td><%= Item %></td><td><%= Request.Form(Item) %> </td></tr><%
 Next
 %></table></p>
 <hr/>
 <h4>Request.QueryString section</h4>
 <p><table><tr><th>QueryString Variable</th><th>Value</th></tr><%
 For Each Item In Request.QueryString
 %><tr><td><%= Item %></td><td><%= Request.QueryString(Item)
 %> </td></tr><%
 Next
 %></table></p>
 <hr/>
 <h4>Request.ServerVariables section</h4>
 <p><table><tr><th>Server Variable</th><th>Value</th></tr><%
 For Each Item In Request.ServerVariables
 %><tr><td><%= Item %></td><td><%= Request.ServerVariables(Item)
 %> </td></tr><%
 Next
 %></table></p>
 .....
 
 Prøv at lægge det ind i din 404 side og se om der er noget du kan bruge.
 Det er ikke sikkert du får samme informationer som IIS giver.
 
 --
 Med venlig hilsen/Best regards
 Stig Johansen
 
 
 
  
            
             |   |   
            
        
 
            
         
            Stig Johansen (24-09-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  24-09-09 19:15 |  
  |   
            Martin Sand wrote:
 
 > Men det smarte ved at kunne bruge 404 ville jeg være at jeg både kunne
 > have faktiske filer i hieraki, og hvis ikke det findes, så bliver der søgt
 > i en database...
 
 Det kan du også med den metode jeg skrev.
 Så skal du bare lave noget pseudokode a la:
 if fileexists(navn.fra.url.) then
   udskriv fil
 else
   kig i database
 end if
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |