2011-09-13 3 views
0

J'ai créé un lien symbolique comme celui-ci:PHP retourne symlink erreur 404

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

Le lien symbolique est créé - je peux voir la navigation via FTP - mais quand j'utilise le lien j'obtenir une erreur 404 . J'ai vérifié mon chemin d'origine et il est précis.

Qu'est-ce que je fais mal?

Merci!

+0

quel serveur web utilisez-vous? –

+0

Votre serveur web ne permet pas/ne supporte pas les liens symboliques? – Znarkus

+0

@Pekka: C'est fou, j'ai corrigé mon commentaire dès que je l'avais posté .. – Znarkus

Répondre

1

Le chemin de destination est par rapport au répertoire du lien symbolique est créé dans:

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

signifie que le lien pointe vers dirname($sympath) . '/' . $origPath

+0

Mais que faire si je veux mettre le lien symbolique dans un répertoire différent? – HWD

+0

il suffit de spécifier $ origPath à un chemin absolu; ou à un chemin relatif au chemin du lien symbolique – arnaud576875

1

Il peut être désactivé dans Apache:

FollowSymLinks

Le serveur suivra les liens symboliques en t son répertoire.

Si votre fournisseur le permet, vous pouvez essayer d'ajouter un fichier .htaccess ce qui suit:

Options +FollowSymlinks 
+1

Cela ne semble pas résoudre mon problème. – HWD

+0

Ensuite, ce n'est pas le problème, ou votre fournisseur d'hébergement ne vous permet pas d'activer Symlink suite. Je recommanderais d'abord de suivre le conseil de @ Arnaud, et d'essayer d'utiliser des chemins absolus. Si ceux-ci ne fonctionnent pas non plus, parlez au fournisseur d'hébergement –