Question

J'ai essayé ces deux codes.Mais ça ne fonctionne pas.Il doit également accéder au dossier public.

http://docs.phalconphp.com/en/latest/reference/tutorial.html

#www/tutoriel/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^$ public/    [L]
    RewriteRule  (.*) public/$1 [L]
</IfModule>

#www/tutorial/public/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
Était-ce utile?

La solution

Si mod_rewrite est activé, je suppose que votre serveur n'est pas avec le AllowOverride option correctement définie...

Tous .htaccess les fichiers sont ignorés par défaut dans Apache car quelqu'un peut réussir à télécharger un .htaccess fichier sur votre serveur et remplacez les configurations de votre serveur.Si vous êtes sûr que le système de fichiers de votre serveur est protégé, vous pouvez indiquer explicitement dans la configuration du serveur que vos paramètres peuvent être remplacés par n'importe quel .htaccess fichier dans vos répertoires.

Cela se fait via le AllowOverride paramètre.Faire référence à cette question pour comprendre un peu plus ce sujet.

Autres conseils

Si vous êtes sur Ubuntu Modifier le fichier /etc/apache2/apache2.conf (ici, nous avons un exemple de / var / www)

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

et le changer à;

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

alors

Service sudo Apache2 Redémarrez

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top