webForumDet fria alternativet

Include file i överordnad mapp

ASP

14 svar · 938 visningar · startad av Fireh

Medlem sedan jan. 2003173 inlägg
Frågan#1

Hej.

Jag har sökt och inte riktigt hittat något riktigt svar gällande include file.
Jag använder mig av följande:

<!-- #include file="../databas.asp" -->

Felet blir:

Active Server Pages fel 'ASP 0131' 

Otillåten överordnad sökväg 

/root/test/info.asp, rad 1 

Include-filen '../databas.asp' får inte innehålla '..' för att ange den överordnade katalogen.

Det enda sätt jag lyckats "lösa" det med är att ha en kopia av alla include-filer i alla mappar där de används. Normalt skulle jag kanske kunnat använda mig av include virtual och utgå från root, men på min lokala webbserver ligger siten i en undermapp vilken den givetvis inte gör på nätet.

Eftersom jag sett i flera av sökresultaten här att man hänvisar till att skriva ../ för att gå till föregående mapp så undrar jag. Jag kör IIS7 nu och jag tror att det fungerar i IIS6. Finns det i så fall kanske någon inställning i IIS7 man kan göra?

Mvh Peter

Medlem sedan jan. 20061 807 inlägg
#2

Har du provat med

<!--#include virtual="/inkludera.fil"-->
Medlem sedan jan. 2003173 inlägg
#3

Ja. Som jag skrev så ligger filerna inte på samma plats på min server jämfört med andra servern. På min server skulle det vara:

<!--#include virtual="/test/databas.asp"-->

Medan det på webbservern skulle vara:

<!--#include virtual="/databas.asp"-->

Därför fungerar ../ ypperligt, när det fungerar... vilket det inte gör längre.

Medlem sedan jan. 20061 807 inlägg
#4

Jo, men det är skillnad på file och virtual.

Medlem sedan jan. 2003173 inlägg
#5

Öhhh... ja det vet jag... men jag vill använda samma kod till både min server och webbhotellet. Eftersom det är olika sökvägar till databas.asp på min server (pga att det ligger i en undermapp hos mig) jämfört med webbhotellet (där det ligger i root), så kan jag ju inte använda virtual som utgår från root.

file med ../ fungerar på webbhotellet som kör IIS6, men inte på min server som kör IIS7.

Medlem sedan jan. 20061 807 inlägg
#6

Fireh skrev:

Öhhh... ja det vet jag... men jag vill använda samma kod till både min server och webbhotellet. Eftersom det är olika sökvägar till databas.asp på min server (pga att det ligger i en undermapp hos mig) jämfört med webbhotellet (där det ligger i root), så kan jag ju inte använda virtual som utgår från root.

file med ../ fungerar på webbhotellet som kör IIS6, men inte på min server som kör IIS7.

Ok, men kan du inte i så fall ändra strukturen så att filen hamnar i root på din server då?

w3schools skrev:

The Virtual Keyword
Use the virtual keyword to indicate a path beginning with a virtual directory.
If a file named "header.inc" resides in a virtual directory named /html, the following line would insert the contents of "header.inc":
<!-- #include virtual ="/html/header.inc" -->

The File Keyword
Use the file keyword to indicate a relative path. A relative path begins with the directory that contains the including file.
If you have a file in the html directory, and the file "header.inc" resides in html\headers, the following line would insert "header.inc" in your file:
<!-- #include file ="headers\header.inc" -->

Note that the path to the included file (headers\header.inc) is relative to the including file. If the file containing this #include statement is not in the html directory, the statement will not work.

Medlem sedan jan. 2003173 inlägg
#7

Det blandar ju ihop sig med annat material på min server om jag lägger de 2 filerna jag includerar i root på min server. Jag förstår inte varför man ska ha tagit bort stödet att använda ../ i include file för att kunna includera en fil från överordnad mapp, känns korkat.

Jag får väl i så fall skapa en mappstruktur på webbhotellet som ser ut som den på min server där jag bara lägger include-filerna...

Medlem sedan mars 200973 inlägg
#8

Parent Path måste aktiveras ifall du ska kunna använda "../"

Du vet att du kan skapa ny site i IIS? och använda ett dömännamn lokalt istället för sökväg så rooten blir samma på din server som på webbhotellet då du anger en ny root för just den domänen (siten).

Medlem sedan jan. 2003173 inlägg
#9

Det är 2 helt olika servrar. Var aktiverar jag det??

Medlem sedan mars 200973 inlägg
#10

Ja eftersom det är ett webbhotell måste du ju be dom aktivera det isåfall.

Eller så fixar du som sagt en ny site i din egen server, du använder i nuläge defualt web site i IIS som jag förståt det och har flera sidor på denna och når dom via http://localhost/mapp

Webbroot för defualt web site är ju c:/inetpub/wwwroot

Men skapar du en ny site kan du sätta webbroot som c:/inetpub/wwwroot/mapp

Så om du t.ex döper den till Fireh.se säger vi, så istället för att skriva in http://localhost/mapp så skriver du istället fireh.se och får då en egen root för just den siten och kan då anpassa hemsidan efter den rooten och på samma sätt kommer det då fungera på webbhotellet.

Medlem sedan jan. 2003173 inlägg
#11

Det är min server det inte fungerar på, så jag ändrade min IIS.

Hittade följande i en tråd:
http://wallpaper.iis7.org/blog/TipsforClassicASPdevelopersonIIS7_10494/aspenableparentpaths_thumb.jpg

Medlem sedan jan. 2003173 inlägg
#12

Förresten, gällande egen site. Jag har siter för en del andra, men just den här så ligger den skarpa versionen på ett webbhotell och jag har en utvecklingsversion på min server. Den har jag ingen domän att knyta till eftersom den inte är publik. Annars hade det ju gått bra :)

Men nu fungerade det att aktivera Parent Path enligt bilden i mitt föregående svar. Tack för tipset!

Medlem sedan mars 200973 inlägg
#13

skapar du en site på din server kan domänen till den siten användas lokalt.

i windows ligger t.ex en hosts fil i den kan du t.ex ange vilken domän ska leda var
där kan du även t.ex ändra att istället för localhost kan du skriva fireh och det fungerar då på samma sätt.

Och den direkta sökvägen publikt skulle isåfall t.ex bli såhär
http://ditt.ip.nr/fireh.se
men lokalt skulle det fortfarande bli fireh.se

Medlem sedan jan. 2003173 inlägg
#14

Jobbigt bara om jag vill gå in på riktiga fireh.se :)

Medlem sedan mars 200973 inlägg
#15

jo ifs, men då kan du ju ha fireh bara lokalt :)

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)