I have a few questions about CF 11. I have just installed CF 11 on a Windows 8 server. This
is an all new server and software installation. It isn’t to where it can be
viewed outside of our network just yet until we have everything installed and
running properly on it. When it is all complete we will turn off the current
server and change the name of this one and make it public. We have the
certificate on it from the live site. So the name of the certificate and the
name of the server do not match.I have had my websites on CF 7, CF 8 and CF 9
We have used mappings on all of our previous versions with image tags and ahref tags. Have
things changed in CF 11 to not allow this anymore? An example is <img
src="/PACTlogin/loginIMages/LoginPicture1.jpg" alt="Login Image"
/>.(/PACTlogin is the mapping) We use the mappings like this because we have
dynamic pages being built. The same goes for ahref tags. An example of it is <a
href="/pact/pactacademy/Index.cfm">PACT Academy</a> (/pact
is the mapping). I have the mapping set up in the administrator just like I
have used on all previous versions of CF. On CF 11 it says the image is
missing. When you right click on the image it is actually looking for the image
in a folder called PACTlogin or pact. Which doesn’t actually exist because it
is a mapping. The mappings continue to work as expected in CF tags like
cflocation or cfinclude. What is the work around to get this to work again? Do
you create an application variable in the Application.cfc and use it in the tag
like <img src="<cfoutput>#application.Addr#</cfoutput>/login/loginIMages/LoginPicture1.jpg"
alt="" />? Is there a better way to do this? What are some ideas?
I have googled lots of things and haven’t come up with much except that CF is being
used with HTML 5 and since HTML tags like img and ahref are not cf tags it
doesn’t recognize the link as a mapping as it did before. Is this correct?
I have taken and created an application variable on Application.cfc and used it in place of
the mappings and it still isn’t working. An example is <img src="<cfoutput>#application.Addr#</cfoutput>/login/loginIMages/LoginPicture1.jpg"
alt="login Image" />. Any ideas on why this won’t work either?
Here is what my page looks like now.
This is what the page looks like when I go directly to the image in the browser.
It is totally blank. Not even an X…
I would appreciate any help or ideas. Thank you in advance.
If your HTML <IMG> tag is pointing to a normal image (PNG, JPG, GIF, etc...) then ColdFusion is not involved whatsoever. Only the webserver, IIS, serves images using the code you've entered. IIS has no idea what your CF Mappings are. CFLocation and CFInclude, however, are CF tags and so are processed by CF and are aware of the CF mappings.
What I imagine has happened is your old servers has Virtual Directories defined in IIS that were identical to your CF Mappings. Compare you directory structures in IIS between your old and new servers to see if this is the case.
I don't do much on the servers themselves, but when I created a website on the old servers, I did not have to create or map anything on the server. I went to the cf administrator and created my datasource and mappings. So I don't know about the virtual directories. I will investigate this and let you know what I find. Thanks for the suggestion.
In IIS, look in the root directory of your website for a folder labeled: "Pactlogin". If you don't see it that is why your images are not found. Then, my guess is either that folder was not transferred from your old server to new, or the old server had a Virtual Directory that is missing on the new one.
We found out the trouble. There was something wrong in IIS. It was repaired and it is serving up the webpages properly now. Thank you for the help.