我試圖實現301重定向,使我的所有URL都重定向到給定頁面的www版本。我們的頁面結構是:url.com/home/default.cfm。我正嘗試將ColdFusion中的URL重寫爲當前目錄,而不使用文件名。在ColdFusion中沒有文件名的URL重定向?
我使用的代碼是這樣的:
<cfif (CGI.SERVER_NAME NEQ "www.url.com")>
<!-- Save the URL (and $_GET variables too) as the string 'strUrl' -->
<!-- <cfset strUrl = CGI.script_name & "?" & CGI.query_string />-->
<cfset strUrl = CGI.script_name />
<!-- Use 301 for SEO-friendly redirects -->
<cfheader statuscode="301" statustext="Moved permanently">
<!-- Redirect to new website (this case, added www.) with strUrl added on -->
<cfheader name="Location" value="http://www.url.com#strUrl#">
</cfif>
這是如此的接近,除了CGI.script_name返回與文件名的路徑。任何想法如何獲得目錄?請記住,我們可能有嵌套的目錄,例如/ foo1/foo2 /。
謝謝。
+1非CF資源會發生什麼情況?如果可用,讓Web服務器處理這些東西。 – jfrobishow 2011-03-23 14:36:19
是的,這將是我的偏好,但不幸的是我們的技術設置不允許這樣 - 我們在一個大型公司,這使我們的服務器級別訪問變得複雜。另外,我們這樣做的主要原因是爲了防止在Google中重複索引頁面(這是以前的一個問題,我們有非WWW和WWW版本索引)。 – Rich 2011-03-24 04:36:11
如果您正在專門爲Google索引做這件事,您可以查看Google針對網站管理員的「首選域名」說明。請參閱[link] http://www.google.com/support/webmasters/bin/answer.py?answer=44231 – 2011-07-06 20:24:19