Avatar billede msnilsson Nybegynder
23. november 2003 - 12:30 Der er 12 kommentarer og
2 løsninger

htaccess og 404.asp

Jeg bruger 404.asp til at give en skræddersyet fejlmeddelelse, afhængigt af hvad for en url brugeren har tastet ind. Men nu  har jeg skiftet server fra en NT/IIS til en Apache/UNIX-server (som kan køre asp). Og nu virker min 404.asp-fil ikke længere.

Jeg tror det har noget at gøre med, at Request.Servervariables("Querystring") ikke virker. Kan det have noget at gøre med den måde jeg definerer 404.asp som standard error-dokument til 404-fejl i .htaccess? Noget med at den ikke sender den forkerte URL med, når den kalder 404-filen? Kan man definere det i .htaccess?


Jeg tror som sagt ikke det er et asp-problem, men et server-problem - men jeg skriver lige koden fra 404-filen med:


varQuery= Request.ServerVariables("QUERY_STRING")
Response.Write("<br>varQuery: " & varQuery)


Nogen forslag til hvad jeg skal gøre?
Avatar billede htm Nybegynder
23. november 2003 - 13:07 #1
prøv:

varQuery= Request.ServerVariables("REQUEST_URI")
Avatar billede bacardil Nybegynder
24. november 2003 - 01:08 #2
http://www.webcafe.dk/artikler/apache/htaccessfejlbeskeder

Jeg forstår ikke 100% dit spm. men asp køre ikke på serveren, så kan du jo ikke difinere den fil der skal bruge som xxx.asp. Prøv at omdøbe den til php og ret koden til php.

ligger der evt. sun asp på serveren?
Avatar billede msnilsson Nybegynder
24. november 2003 - 15:28 #3
Har ny prøvet Request.ServerVariables("REQUEST_URI"). Det virker heller ikke - det giver en tom streng, ligesom Request.ServerVariables("QUERY_STRING") og Request.QueryString. Men ellers tak for rådet.

Bacardil>
Mit problem er at jeg har skiftet server fra IIS til UNIX/Apache som kører asp (jeg ved ikke hvordan). Nu har jeg fået alle mine asp-filer til at virke, undtagen 404.asp. Indtil nu har jeg brugt den til at skrive noget a la: "Siden [brugerens forkerte indtastning] findes ikke..." Men nu virker Request.ServerVariables("QUERY_STRING") ikke, så fejlmeddelelsen bliver "Siden [] findes ikke". Derfor er mit spørgsmål hvad man skal gøre for at få det til at virke på Apache-serveren.

Kører asp ikke på serveren? Og php gør? Jeg troede at begge dele kørte "lige meget" på serveren. Måske er det det der er problemet? (Jeg ville helst undgå at bruge php, da jeg ikke kan det i forvejen - og fordi jeg skal lave nogle lidt mere avancerede ting med den kaldte URL end "Siden [] kan ikke vises...").
Avatar billede bacardil Nybegynder
24. november 2003 - 19:43 #4
ASP fra MS køre ikke på Apache, derfor må det være Sun ASP. Hvilken udbyder har du? Sun ASP kan opføre sig lidt underligt, så hvis dette ikke giver hint, så tror jeg du skal havde en asp mand fra gruppen ASP til at kigge på det :)

Du kan evt. kigge lidt her

http://developers.sun.com/asp/howto/chilimail.html
http://developers.sun.com/prodtech/asp/learning/tutorials/index.html

Ellers skal du nok havde
Avatar billede bacardil Nybegynder
24. november 2003 - 19:44 #5
Ellers skal du nok havde -> Skal bare slettes :D
Avatar billede htm Nybegynder
24. november 2003 - 19:51 #6
som bacardil siger er det helt specifikt for Sun one asp, som du givet vis har på din server. Der er nogle ting der virker fortrineligt i MS ASP som kan være mærkeligt i anden ASP. Men det er også vær at indskyde at der er flere forskellige ASP'er til linux. nogle med J-script syntax og andre med VB-script syntax.

Find ud af hvad du har på din udbyders server. og så er det nok det bedste at spørge i ASP-kategorien. Forudsat at du altså for siden frem når du indtaster en forkert side.
Avatar billede msnilsson Nybegynder
26. november 2003 - 10:26 #7
Serveren kører chili asp.

Jeg er rimeligt sikker på, at problemet opstår på grund af den måde, 404-filen kaldes på.

Når jeg skriver en forkert URL på mit website, skifter adressen til 404.asp. Men hvis jeg skriver en forkert adresse på eksperten, bliver den forkerte adresse stående - prøv selv: http://www.eksperten.dk/zsdfzsdfg

Hvis adressen bliver stående, kan man kalde den og bruge den i sit script. Men hvis den ændres til 404.asp, så kan man ikke - og http_Referer virker heller ikke.

Så derfor spørger jeg - er dette noget man kan indstille i htaccess eller på anden måde?

Koden i min htaccess er nu:

ErrorDocument 404 http://beta.danhost.dk/~danxxxxx/404.asp
Options All -Indexes
Avatar billede htm Nybegynder
26. november 2003 - 10:47 #8
Lav den intern i stedet for ekstern

ErrorDocument 404 404.asp
Avatar billede msnilsson Nybegynder
26. november 2003 - 11:28 #9
Det hjalp - nu beholder den i det mindste den rigtige (=den forkerte) URL i adresselinjen... Så må jeg spørge i ASP-forummet om hvordan jeg får den "hevet ned i koden" (det virker nemlig stadig ikke med Querystring).

Men tak htm :-) - hvis du smider et svar får du dine velfortjente points...
Avatar billede msnilsson Nybegynder
26. november 2003 - 11:31 #10
(for en god ordens skyld - Request.ServerVariables("REQUEST_URI") virker heller ikke)
Avatar billede htm Nybegynder
26. november 2003 - 13:02 #11
ok - håber du for løst dit problem så.
Avatar billede htm Nybegynder
26. november 2003 - 13:03 #12
hov ser lige det er 120 point. Jeg skal ikke have 120 point for det. Læg et svar selv og tag nogle selv.
Avatar billede msnilsson Nybegynder
27. november 2003 - 08:48 #13
ok ... det bestemmer du selv
Avatar billede msnilsson Nybegynder
27. november 2003 - 08:49 #14
men tak for hjælpen, anyway
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester