Forum d'entraide pour webmasters et développeurs

Pensez à ajoutez [Résolu] à la fin du titre de votre 1er message lorsqu'une solution a été trouvée

Vous n'êtes pas identifié(e).

Annonce

#1 2013-03-21 11:06:37

Patoche
Membre
Inscription : 2012-10-29
Messages : 10

Problème pretty url avec apache sans .htaccess [Résolu]

Salut,

j'essaye de faire marcher pretty url sans le fichier .htaccess. J'ai configuré mon virtualhost dans apache httpd.conf en mettant la même config que dans le .htaccess qui est dans le dossier doc de csms. Mais j'ai des erreur 404 sad. Si je mets le .htaccess ça marche ! Je précise que je change ma config apache avec AllowOverride All quand je mets le fichier .htaccess.
voici ma config dans le virtualhost

<VirtualHost *:80>
        ServerAdmin name@domain.com
        ServerName www.mywebsite.com
        DocumentRoot "/my/path"
        DirectoryIndex index.htm index.php index.html
        <Directory "/my/path">
                AllowOverride None
                Allow from all
                Options +Indexes FollowSymLinks
        </Directory>

        RewriteEngine on
        #-- Rules -------------------
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.+).html$ index.php?page=$1 [QSA]
</VirtualHost>

Si quelqu'un à une idée ?

Dernière modification par Patoche (2013-03-21 18:12:52)

Hors ligne

#2 2013-03-21 18:08:21

Com'onSoft
Administrateur
Inscription : 2012-10-28
Messages : 20

Re : Problème pretty url avec apache sans .htaccess [Résolu]

Il y a une petite différence lorsque tu mets les règles de rewriting dans le fichier de configuration d'apache au lieu du .htaccess.

2 cas de figure :
[list=1]
[*]Tes règles sont dans [b]<directory>[/b] il faut ajouter la directive RewriteBase

        <Directory "/my/path">
                AllowOverride None
                Allow from all
                Options +Indexes FollowSymLinks
                RewriteBase /
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteRule ^(.+).html$ index.php?page=$1 [QSA]
        </Directory>

[/*]
[*]Tes règles sont en dehors, dans ce cas il ne faut pas de RewriteBase mais ajouter un / dans la règle

        <Directory "/my/path">
                AllowOverride None
                Allow from all
                Options +Indexes FollowSymLinks
        </Directory>
        RewriteEngine on
        #-- Rules -------------------
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^/(.+).html$ /index.php?page=$1 [QSA]

[/*]
[/list]

Voilà qui devrait solutionner ton problème.

[ins]Ndla[/ins]: lorsqu'on peut configurer les règles de rewriting dans apache au lieu d'utiliser un fichier .htaccess, ne pas oublier de mettre la directive [b]AllowOverride None[/b] on gagne en performance, car apache ne va plus chercher la présence et l'analyse d'un fichier .htaccess à chaque requête cool

Hors ligne

#3 2013-03-21 18:12:35

Patoche
Membre
Inscription : 2012-10-29
Messages : 10

Re : Problème pretty url avec apache sans .htaccess [Résolu]

Waou genial, je galère depuis ce matin, merci ça marche tip top

Hors ligne

Pied de page des forums