感谢您的帮助;我是所有这些URL映射的新手,但我相信这是一个简单的问题......
我正在将GoDaddy(最近放弃了他们的ColdFusion支持)的ColdFusion应用程序迁移到CFDynamics。
我有一个新root的URL:cfd123.cfdynamics.com/lbc这是我放入网站的wwwroot目录。 (它实际上是:D:\ Inetpub \ wwwroot \ lbc.com \ wwwroot但我不认为这很重要)
问题是网站中的所有HTML URI:href和src属性等都是使用绝对路径编写的:“/ images / ones.jpg”等等,现在我希望它们映射到“cfd123”。 cfdynamics.com/lbc/images/some.jpg”。
我想我需要在所引用的任何地方将“/ something”映射到“/ lbc / something”。这似乎应该很简单,只需将前导“/”映射到“/ lbc /”,我就可以了。
所以,我去创建一个“Alias / / lbc /”类别的列表并将它放在我的.htaccess文件中。现在我发现.htaccess中不允许Alias。 (我想如果我可以访问httpd.conf,我可以在那里使用Alias,但它是一个共享的托管环境,我没有访问权限。)
所以,我以为我会尝试重写规则(仍然在.htaccess文件中):
RewriteEngine on
RewriteBase /lbc
RewriteRule ^/(.*)$ /$1 [L,R=301]
无济于事。所以,我没有发现任何明显的事情都有效(我甚至不确定我是否正确地完成了它们)。我没有看到任何调试机制向我显示任何内容(chrome只显示了在找不到文件时会出现的404错误。)
这对我来说是全新的,开始变得非常快。任何人都可以指出我正确的方向吗?
谢谢,史蒂夫
P.S。我可以通过在wwwroot目录中创建一个包含下面代码的Application.cfc文件来处理ColdFusion CFInclude指令,但这对整个页面中的各种HTML链接没有任何作用。
<cfset this.name = "AbsoluteReference"/>
<cfset this.mappings = structNew() />
<cfset this.mappings["/"] = getDirectoryFromPath(getCurrentTemplatePath())/>
答案 0 :(得分:0)
您在CFDynamics上运行Windows服务器我可以从中了解
我有一个新root的URL:cfd123.cfdynamics.com/lbc这是我放入网站的wwwroot目录。 (实际上是: D:\ Inetpub \ wwwroot \ lbc.com \ wwwroot 但我觉得不重要)
这是一个Windows结构“D:\ Inetpub \ wwwroot \ lbc.com \ wwwroot”,因此.htaccess不适用于URL重写,因为在共享环境中,您将无法执行所需的操作。这些更改必须在IIS中进行,这不是一个选项。如果您有Dreamweaver,您可以对/ images /进行批量查找替换,并用/ ibc / images /替换,对于链接,请执行href =“/替换为href =”/ ibc /.
希望这有帮助。