4
我寫了一個簡短的CFSCRIPT編碼/解碼鏈接:找不到CFSCRIPT常規
function link_encode(str) {
x = Replace(str, "&", "and", "ALL");
y = Replace(x, " ", "_", "ALL");
z = Replace(y, "/", "|", "ALL");
return z;
}
function link_decode(str) {
x = Replace(str, "and", "&", "ALL");
y = Replace(x, "_", " ", "ALL");
z = Replace(y, "|", "/", "ALL");
return z;
}
這是一個文件,該文件包括網站標題(包含在每一頁上)
<cfinclude template="/includes/cfScriptFunctions.cfm">
這工作正常,在 '正常' 頁面:
<cfset link = link_encode(sub_menu.name)>
但是,對於SEO目的,我通過web.config中重寫URL:
<rule name="categories_1" stopProcessing="true">
<match url="category1/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/category1.cfm?id={R:1}" />
</rule>
當我登陸此頁面時,Coldfusion返回錯誤:「變量LINK_DECODE未定義」。但是,如果我嘗試在頁面中包含cfscript文件,Coldfusion將返回錯誤:「例程不能多次聲明,例程link_decode已在不同模板中聲明兩次。」這告訴我,例行程序是可用的,爲什麼它不被發現?
更新 噢...我的錯......我打電話之前已經包含在頁面的功能...咄。
當你指的是'link_decode'或者反之亦然,你確定不是調用'link_encode'的問題嗎? –
死定了...我編輯了我原來的帖子,包括編碼/解碼功能...... URL重寫後都沒有找到。 –
你可以粘貼錯誤引用的行嗎? –