2010-09-19 7 views
17

Je suis nouveau dans l'administration de serveur mais j'ai réussi à obtenir une configuration LAMP sur mon nouveau VPS. J'ai téléchargé quelques fichiers web qui fonctionnent sur mon autre serveur, mais ils semblent me donner l'erreur: "Le fichier n'existe pas" dans mon fichier /var/log/apache2/error.log. La page d'accueil se charge très bien grâce à mes scripts, mais pas les autres pages.mod_rewrite ne fonctionne pas

code fichier .htaccess

Options +FollowSymlinks 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?r=$1 [L,QSA] 

J'ai activé mod_rewrite sur le serveur et peut le voir en cours d'exécution sous ma page phpinfo() J'ai créé. Je ne sais tout simplement pas pourquoi ce problème se produit. Si j'ai besoin de poster autre chose, s'il vous plaît laissez-moi savoir :)

Répondre

37

Il semble que votre site ou hôte virtuel n'a pas été accordé les autorisations appropriées pour traiter .htaccess fichiers. Vous pouvez le tester facilement en faisant une erreur de syntaxe à dessein: si votre site ne plante pas, le fichier est ignoré.

Essayez quelque chose comme ceci dans votre fichier principal httpd.conf:

<Directory "/path/to/your/site"> 
    AllowOverride All 
</Directory> 

... ou ce (à votre goût):

<VirtualHost *:80> 
    AllowOverride All 
</VirtualHost> 
+0

Merci pour le commentaire. Où puis-je trouver mon fichier httpd.conf principal? – RhapX

+0

Peu importe, je l'ai compris. Merci beaucoup! – RhapX

+0

De rien. –

8

Quand j'ai eu ce problème, il est avéré que le /etc/apache2/sites-enabled/000-default eu le AllowOverride All, mais le /etc/apache2/apache2.conf avait également la même entrée pour notre web Directory avec AllowOverwrite None. Assurez-vous donc de vérifier les deux endroits!

+0

Merci! Je t'aime! Vous avez résolu mon problème <3 Je déteste ce genre de fichiers de configuration: D – sczdavos