138 votes

Comment vérifier si le mod_rewrite est activé sur le serveur ?

Actuellement, j'utilise l'hébergement avec vitesse lumière serveur. L'hébergement dit mod_rewrite est activé, mais je n'arrive pas à faire fonctionner mon script. Chaque fois que j'essaie d'accéder à l'URL, il retourne 404 - non trouvé page.

J'ai mis les mêmes codes sur un autre serveur qui fonctionne avec Apache. Cela fonctionne là-bas. Je suppose donc que c'est le .htaccess y mod_rewrite question.

Mais le support d'Hosting insiste toujours sur le fait que leur mod_rewrite est activé, alors j'aimerais savoir comment je peux vérifier s'il est effectivement activé ou non.

J'ai essayé de vérifier auprès de phpinfo() mais pas de chance, je n'arrive pas à trouver mod_rewrite est-ce parce qu'ils utilisent des lightspeed ?

Existe-t-il un moyen de vérifier ? Veuillez m'aider. Je vous remercie.

POUR INFORMATION : mon .htaccess Le code est

Options -Indexes

<IfModule mod_rewrite.c>
DirectoryIndex index.php
RewriteEngine on

RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>

J'ai également essayé comme ceci

DirectoryIndex index.php
RewriteEngine on

RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

Mais le résultat est le même.

4voto

Keinan Goichman Points 51

Ce code a fonctionné pour moi :

if (strpos(shell_exec('/usr/local/apache/bin/apachectl -l'), 'mod_rewrite') !== false) echo "mod_rewrite enabled";
else echo "mod_rewrite disabled";

1voto

joao_pimentel Points 556

Il vous suffit de vérifier si le fichier est présent, en tapant

cat /etc/apache2/mods-available/rewrite.load

La ligne de résultat ne peut pas être commentée en commençant par #

1voto

Aleem Iqbal Points 45

Il suffit de créer un fichier php dans Root et d'y ajouter le code suivant

<?php
if (in_array('mod_rewrite', apache_get_modules())) {
    echo "mod_rewrite is enabled";
} else {
    echo "mod_rewrite is not enabled";
}

0voto

Kyle S Points 13

J'avais exactement le même problème, je l'ai résolu en cliquant sur structure personnalisée, puis en ajoutant /index.php/%postname%/ et ça marche

J'espère que cela évitera à quelqu'un le stress que j'ai eu à subir pour trouver ce qui n'allait pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X