ASP嵌套子文件夹中root的相对路径

时间:2011-11-06 18:54:53

标签: asp-classic

我在虚拟目录中使用ASP脚本而不是顶级(根)级应用程序,我不得不编写一些小脚本来为每个页面提供正确的CSS路径以及其他包含在根目录下的文件。所以两个层次的深度必须是“......”

这与我所包含的页眉和页脚模板混淆。

是否有更简单的方法来管理包含标题的嵌套子文件夹的相对路径?

使用Win2k3服务器和IIS6 ASP 3.5在64位进程中运行32位

1 个答案:

答案 0 :(得分:1)

如果您在每个页面上都包含一个标准的包含文件,那么您可以执行与我在webfodder工作时所做的相似的操作。

每个页面都包含一个名为info.asp的文件。在info.asp内部,我们对网站所需的所有全局变量进行Dim'd并设置。我们对一个名为strRelativePath的变量进行了调暗,并将其设置为info.asp中的空字符串。

然后在我们调用CSS,Header和Footer包含(也是xxxx.asp文件)之前的每一页上,我们都适当地设置了strRelativePath。

strRelativePath =“.. \”
strRelativePath =“.. \ .. \”

然后我们将确保所有对图像的引用以及任何使用strRelativePath变量的引用。例如:

< img src =“<%= strRelativePath%> images \ myimage.jpg”>

编辑:根据OP的请求 - 添加了info.asp文件的内容

<%
Option Explicit
Response.Buffer = true
Response.charset="ISO-8859-1"

'============================================================== '=== Declarations '============================================================== Dim strBodyTag Dim strRelativePath Dim strFqurl Dim strSFqurl Dim strReferer Dim strServerName Dim strMailServer Dim strWebDSN

'============================================================== '=== Initilization '============================================================== strBodyTag = "bgcolor='#FFFFFF' topmargin='4' leftmargin='4' rightmargin='4' bottommargin='4' marginheight='0' marginwidth='0'" strRelativePath = "" strReferer = trim(lcase(Request.ServerVariables("HTTP_REFERER"))) strServerName = lcase(Request.ServerVariables("SERVER_NAME")) strMailServer = "localhost" 'DO NOT CHANGE FROM "localhost"

Select Case strServerName Case "dev" strFqurl = "http://dev/websitegoeshere/" 'INCLUDE TRAILING SLASH strSFqurl = "https://dev/websitegoeshere/" 'INCLUDE TRAILING SLASH strWebDSN = "Provider=SQLOLEDB;server=DEV\SQLEXPRESS;uid=DBUserId;pwd=DBPassword;database=DBName" Case Else 'PRODUCTION strFqurl = "http://www.websitegoeshere.com/" 'INCLUDE TRAILING SLASH strSFqurl = "https://www./websitegoeshere.com/" 'INCLUDE TRAILING SLASH strWebDSN = "Provider=SQLOLEDB;server=xxx.xxx.xxx.xxx;uid=DBUserId;pwd=DBPassword;database=DBName" 'Note: xxx.xxx.xxx.xxx = IP Address for Database End Select

'============================================================== '=== Assigns a name to each page to determin title, etc. '============================================================== Dim strScriptName Dim strPageTitle Dim strMetaDescription Dim strMetaKeyWords Dim strHeaderText

strScriptName = Request.ServerVariables("Script_Name") strScriptName = LCase(Mid(strScriptName,InStrRev(strScriptName,"/")+1)) strPageTitle = "Default Page Title Goes Here" strMetaDescription = "Default Meta Description Goes Here" strMetaKeyWords = "Default Keywords Go Here" strHeaderText = "Default Header Text Goes Here"

%>