2016-10-25 26 views

答えて

0

この情報は、CGI ColdFusionサーバーの可変スコープ内に含まれています。あなたがそれを "ダンプ"するならば、利用可能なすべての情報フォームをそのスコープで見ることができます。

<cfdump var="#cgi#"> 

またはスクリプト構文で

<cfscript> 
    writedump(cgi); 
</cfscript> 

ちょうどあなたのCFMLファイルのそれを配置し、出力を見てください。

cgi.CF_TEMPLATE_PATHcgi.PATH_TRANSLATEDフィールドには、必要なものが含まれていると思います。

ドキュメントの参照 - CGI environment (CGI Scope) variables

私が何をしたいん迅速なコードスニペットを作成しました。 Check it out here

<cfscript> 
    info=replace(cgi.path_translated,cgi.script_name,'/'); 
    writeOutput(info); 
    writeDump(cgi); 
</cfscript> 
0

実際にフォルダが存在するかどうかによって異なります。 URL書き換えを使用している場合...

<!--- IIS7 ---> 
<cfif CGI.HTTP_X_ORIGINAL_URL neq ''> 
    <cfset urlStrings = listToArray(spanExcluding(CGI.HTTP_X_ORIGINAL_URL,"?"), "/")> 
</cfif> 
<!--- ISAPI_rewrite ---> 
<cfif CGI.HTTP_X_REWRITE_URL neq ''> 
    <cfset urlStrings = listToArray(spanExcluding(CGI.HTTP_X_REWRITE_URL ,"?"), "/")> 
</cfif> 

その後、URLを配列として使用できます。しかし

<cfloop from="1" to="#arraylen(urlStrings)#" index="u"> 

<!--- THE QUERY ---> 
<cfquery name="test" dbtype="query" maxrows="1"> 
SELECT id, title, menuTitle, h1 
FROM application.allNav 
WHERE 
    urlname = '#urlStrings[u]#' AND 
    active = 1 
</cfquery> 
... 

だけでフォルダ名を取得する(と仮定IIS):

<cfoutput>#spanExcluding(CGI.HTTP_X_ORIGINAL_URL,"?")#</cfoutput> 
関連する問題