2011-09-13 135 views
0

我创建了一个符号链接是这样的:PHP符号链接返回404错误

$origpath = "../../uploads/wallpapers/".$filename; 
$sympath = "../../downloads/".$filename; 
symlink($origpath, $sympath); 

的符号链接创建 - 我可以看到它通过FTP浏览 - 但是当我使用的链接我得到一个404错误。

我检查了我的原始路径,它是准确的。我究竟做错了什么?

谢谢!

+0

什么Web服务器您使用的? –

+0

你是web服务器不允许/支持符号链接? – Znarkus

+0

@Pekka:这太疯狂了,我一发布就修复了我的评论。 – Znarkus

回答

1

目标路径是相对于目录中的符号链接在创建:

$origpath = "../../uploads/wallpapers/".$filename; 
$sympath = "../../downloads/".$filename; 

意味着该链接指向dirname($sympath) . '/' . $origPath

+0

但是如果我想把符号链接放在不同的目录下呢? – HWD

+0

只需将$ origPath指定为绝对路径;或者到相对于符号链接路径的路径 – arnaud576875

1

它可以在Apache中被关闭:

FollowSymLinks

服务器将遵循t中的符号链接他的目录。

如果您的提供商允许的话,你可以尝试添加一个.htaccess文件有以下几点:

Options +FollowSymlinks 
+1

这似乎不能解决我的问题。 – HWD

+0

然后这或者不是问题,或者您的托管服务提供商不允许您继续打开Symlink。我会首先推荐以下@ Arnaud的建议,并尝试使用绝对路径。如果这些都不起作用,请与托管服务提供商联系 –