If Apache can't find the file you may have either a permissions problem, a problem in your config file, or some bad .htaccess directives.
- Does the Apache server have the right to view files in the directory where the symbolic link resides? If not, the file will be invisible to Apache even though you can see it.
- How have you mapped server URLs to file system paths? Check your mod_rewrite directives. Are they doing what you think they do? You can monitor the rewrite process by looking at the log files (see the RewriteLog and
RewriteLogLevel directive).
Look also for Location, LocationMatch, Files and FilesMatch directives. You should also check mod_alias directives, in particular, ScriptAlias and ScriptAliasMatch. mod_alias and the other directives all tell Apache how to convert URLs to system file paths.
- Is the file symbolically linked to some other file elsewhere on the system? If so, you will either need to insure that FollowSymLinks is turned on for that directory or to replace the symbolic link with an actual copy. The more secure solution is to copy the file. Turning on symbolic links makes you more vulnerable to certain kinds of malicious attacks.
Best, beth