linux dash - Qu'est-ce que Options+FollowSymLinks?




to dock (4)

J'utilise un serveur de lampe sur mon ordinateur. J'ai commencé à utiliser le framework php de Laravel. Dans mon fichier .htaccess, si j'utilise Options + FollowSymLinks, j'obtiens 500 erreurs. Et si je commente, je dois utiliser index.php dans toutes mes adresses ..exemple:

/~ytsejam/blog/public/index.php/login

J'utilise Arch Linux. Y a-t-il un moyen de le résoudre?

edit: j'ai résolu ce problème en utilisant des hôtes virtuels. Et supprimer index.php de l'application / config / application.php dans le dossier laravel.


Answers

Comment le serveur sait-il qu'il doit extraire image.png du dossier / pictures lorsque vous visitez le site Web et accédez au dossier / system / files / images de votre navigateur Web? Un soi-disant lien symbolique est celui qui est responsable de ce comportement. Quelque part dans votre système, il existe un lien symbolique indiquant à votre serveur "Si un visiteur demande /system/files/images/image.png, alors montrez-lui /pictures/image.png."

Et quel est le rôle du paramètre FollowSymLinks?

FollowSymLinks concerne la sécurité du serveur. Lorsque vous traitez avec des serveurs Web, vous ne pouvez pas simplement laisser les choses indéfinies. Vous devez dire qui a accès à quoi. Le paramètre FollowSymLinks indique à votre serveur s'il doit ou non suivre les liens symboliques. En d'autres termes, si FollowSymLinks était désactivé dans notre cas, la navigation dans le fichier /system/files/images/image.png renverrait en fonction d'autres paramètres, soit l'erreur 403 (accès interdit) ou 404 (non trouvé).

http://www.maxi-pedia.com/FollowSymLinks


Options FollowSymLinks paramètre Options FollowSymLinks vous permet d'avoir un symlink dans votre site Web pointant vers un autre fichier / répertoire. Avec cette désactivation, Apache refusera de suivre ce lien symbolique. Des Options SymLinksIfOwnerMatch plus sécurisées Options SymLinksIfOwnerMatch peut être utilisé à la place - cela vous permettra de vous connecter uniquement aux autres fichiers que vous possédez.

Si vous utilisez la directive Options dans .htaccess avec un paramètre qui a été interdit dans la configuration principale d'Apache, le serveur retournera le code d'erreur HTTP 500.

.htaccess options .htaccess autorisées sont définies par la directive AllowOverride dans le fichier de configuration principal Apache. Pour autoriser les liens symboliques, cette directive doit être définie sur All ou Options .

En plus de permettre l'utilisation de liens symboliques, cette directive est également nécessaire pour activer mod_rewrite dans le contexte .htaccess . Mais pour cela, l'option SymLinksIfOwnerMatch plus sécurisée peut également être utilisée.


Vous pouvez essayer de chercher sur Internet "Options .htaccess non autorisées ici".

Une suggestion que j'ai trouvée (en utilisant Google) est la suivante:

Assurez-vous que votre fichier httpd.conf contient AllowOverride All.

Un fichier .htaccess qui fonctionne pour moi sur Mint Linux (placé dans le dossier Laravel / public):

# Apache configuration file
# http://httpd.apache.org/docs/2.2/mod/quickreference.html

# Turning on the rewrite engine is necessary for the following rules and
# features. "+FollowSymLinks" must be enabled for this to work symbolically.

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
</IfModule>

# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

J'espère que cela vous aidera. Sinon, vous pouvez poser une question sur le forum Laravel (http://forums.laravel.com/), il y a des personnes très utiles qui traînent là-bas.


Vous pouvez utiliser l' screen . Lancez crontab -e et ajoutez cette ligne:

@reboot  screen -d -m bash -c "cd /home/user/yourapp/; node app"




linux apache lamp laravel