[Résolu] Rewrite URL = page 404

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
Bonjour tout le monde
J'ai un problème avec l'URL rewrite, ça provoque des pages d'erreur 404.

CMS MS est sur un serveur ubuntu 10.04.2 sur une VirtualBox !

Voilà ma config :
Citation :----------------------------------------------

Cms Version: 1.9.4.2

Installed Modules:

CMSMailer: 2.0.1
FileManager: 1.1.0
MenuManager: 1.7.6
ModuleManager: 1.4.2
News: 2.11.3
nuSOAP: 1.0.2
Printing: 1.1.2
Search: 1.6.10
ThemeManager: 1.1.4
TinyMCE: 2.8.4
CGExtensions: 1.26.6
MleCMS: 1.9.2
Jobs: 1.0


Config Information:

php_memory_limit:
process_whole_template: false
output_compression: false
max_upload_size: 32000000
default_upload_permission: 664
url_rewriting: mod_rewrite
page_extension:
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale:
default_encoding: utf-8
admin_encoding: utf-8
set_names: true


Php Information:

phpversion: 5.3.2-1ubuntu4.9
md5_function: On (Vrai)
gd_version: 2
tempnam_function: On (Vrai)
magic_quotes_runtime: Off (Faux)
E_STRICT: 0
E_DEPRECATED: 0
memory_limit: 128M
max_execution_time: 120
output_buffering: 4096
safe_mode: Off (Faux)
file_uploads: On (Vrai)
post_max_size: 32M
upload_max_filesize: 32M
session_save_path: /var/lib/php5 (1733)
session_use_cookies: On (Vrai)
xml_function: On (Vrai)


Server Information:

Server Api: apache2handler
Server Db Type: MySQL (mysql)
Server Db Version: 5.1.41


----------------------------------------------



Voici un extrait du .htaccess placé en racine du site (var/www/)
Code :
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>

et du config.php
Code :
$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '';
$config['query_var'] = 'page';


Bien sur le module rewrite est actif dans ma config PHP
Voilà un extrait du PhpInfo :

Loaded Modules
core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_status

J'ai lu un peu toute la litérature sur l'URL rewrite :

Une page du wiki :
http://wiki.cmsmadesimple.org/index.php/...ty_URL.27s
Qui me parait en partie obsolète

Quelques post :
http://www.cmsmadesimple.fr/forum/viewtopic.php?id=3013
http://www.cmsmadesimple.fr/forum/viewtopic.php?id=3284


Le tuto de jce76350 :
http://www.cmsmadesimple.fr/forum/viewto...565#p18565
Qui reste ce que j'ai trouvé de plus claire !!!

Malgré tout ça ... je n'arrive pas a faire marcher ce @#&$ d'URL rewrite !!!!

J'ai une petite interrogation :
L'option +FollowSymLinks n'est pour moi pas nécessaire puisque c'est uniquement pour les liens symboliques. De toute façon ça ne marche pas avec ou sans pour l'instant. Vous en pensez quoi vous ?
Cela dit ça ne me fait pas avancer ...

Pour info j'ai aussi essayé avec :
Code :
$config['page_extension'] = '.html';
et
Code :
RewriteRule ^(.+).html$ index.php?page=$1 [QSA]

Bon pour résumer ... je n'y comprends plus rien, soit je n'ai pas les yeux en face des trous, soit il y a une obscure option d'apache a paramétrer ...

Merci de votre aide !!

Bredt
#1
Bonjour tout le monde
J'ai un problème avec l'URL rewrite, ça provoque des pages d'erreur 404.

CMS MS est sur un serveur ubuntu 10.04.2 sur une VirtualBox !

Voilà ma config :
Citation :----------------------------------------------

Cms Version: 1.9.4.2

Installed Modules:

CMSMailer: 2.0.1
FileManager: 1.1.0
MenuManager: 1.7.6
ModuleManager: 1.4.2
News: 2.11.3
nuSOAP: 1.0.2
Printing: 1.1.2
Search: 1.6.10
ThemeManager: 1.1.4
TinyMCE: 2.8.4
CGExtensions: 1.26.6
MleCMS: 1.9.2
Jobs: 1.0


Config Information:

php_memory_limit:
process_whole_template: false
output_compression: false
max_upload_size: 32000000
default_upload_permission: 664
url_rewriting: mod_rewrite
page_extension:
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale:
default_encoding: utf-8
admin_encoding: utf-8
set_names: true


Php Information:

phpversion: 5.3.2-1ubuntu4.9
md5_function: On (Vrai)
gd_version: 2
tempnam_function: On (Vrai)
magic_quotes_runtime: Off (Faux)
E_STRICT: 0
E_DEPRECATED: 0
memory_limit: 128M
max_execution_time: 120
output_buffering: 4096
safe_mode: Off (Faux)
file_uploads: On (Vrai)
post_max_size: 32M
upload_max_filesize: 32M
session_save_path: /var/lib/php5 (1733)
session_use_cookies: On (Vrai)
xml_function: On (Vrai)


Server Information:

Server Api: apache2handler
Server Db Type: MySQL (mysql)
Server Db Version: 5.1.41


----------------------------------------------



Voici un extrait du .htaccess placé en racine du site (var/www/)
Code :
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>

et du config.php
Code :
$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '';
$config['query_var'] = 'page';


Bien sur le module rewrite est actif dans ma config PHP
Voilà un extrait du PhpInfo :

Loaded Modules
core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_status

J'ai lu un peu toute la litérature sur l'URL rewrite :

Une page du wiki :
http://wiki.cmsmadesimple.org/index.php/...ty_URL.27s
Qui me parait en partie obsolète

Quelques post :
http://www.cmsmadesimple.fr/forum/viewtopic.php?id=3013
http://www.cmsmadesimple.fr/forum/viewtopic.php?id=3284


Le tuto de jce76350 :
http://www.cmsmadesimple.fr/forum/viewto...565#p18565
Qui reste ce que j'ai trouvé de plus claire !!!

Malgré tout ça ... je n'arrive pas a faire marcher ce @#&$ d'URL rewrite !!!!

J'ai une petite interrogation :
L'option +FollowSymLinks n'est pour moi pas nécessaire puisque c'est uniquement pour les liens symboliques. De toute façon ça ne marche pas avec ou sans pour l'instant. Vous en pensez quoi vous ?
Cela dit ça ne me fait pas avancer ...

Pour info j'ai aussi essayé avec :
Code :
$config['page_extension'] = '.html';
et
Code :
RewriteRule ^(.+).html$ index.php?page=$1 [QSA]

Bon pour résumer ... je n'y comprends plus rien, soit je n'ai pas les yeux en face des trous, soit il y a une obscure option d'apache a paramétrer ...

Merci de votre aide !!

Bredt
#2
J'allais oublié, il n'y a pas que moi qui a ce genre de problème sur Ubuntu :
http://forum.cmsmadesimple.org/viewtopic...=3&t=53376

Bredt
#2
J'allais oublié, il n'y a pas que moi qui a ce genre de problème sur Ubuntu :
http://forum.cmsmadesimple.org/viewtopic...=3&t=53376

Bredt
#3
Encore moi !!!
J'ai ajouté ceci dans mon .htaccess
Code :
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3

Le truc vraiment bizarre c'est qu'il ne crée même pas le fichier de log après des erreurs, comme si il ne rentrait pas dans la partie du .htaccess entre <IfModule mod_rewrite.c> et </IfModule>.

J'ai retiré <IfModule mod_rewrite.c> et </IfModule>, ça ne marche pas mieux ! A se demander si le module est vraiment actif !!!!

Je continue mes recherches.

Bredt
#3
Encore moi !!!
J'ai ajouté ceci dans mon .htaccess
Code :
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3

Le truc vraiment bizarre c'est qu'il ne crée même pas le fichier de log après des erreurs, comme si il ne rentrait pas dans la partie du .htaccess entre <IfModule mod_rewrite.c> et </IfModule>.

J'ai retiré <IfModule mod_rewrite.c> et </IfModule>, ça ne marche pas mieux ! A se demander si le module est vraiment actif !!!!

Je continue mes recherches.

Bredt
#4
houla.... c'est la série PrettyUrl ce matin...

attention: si ton installation de CmsMadeSimple est accessible sous

http://localhost/moncmsms

ton .htaccess doit être sous

var/www/moncmsms

(ou alors modifier la ligne RewriteBase / de ton .htaccess)

si c'est déjà ok pour toi, regardes au plus simple pour constater si le mode rewrite fonctionne :


créer un fichier tata.html

Code :
<html><head></head><body>:)</body></html>

créer un fichier .htaccess au même niveau

Code :
RewriteEngine on
RewriteBase /
RewriteRule toto.html tata.html
</IfModule>

normalement l'url http://localhost/moncmsms/toto.html devrait pointer vers tata.html
#4
houla.... c'est la série PrettyUrl ce matin...

attention: si ton installation de CmsMadeSimple est accessible sous

http://localhost/moncmsms

ton .htaccess doit être sous

var/www/moncmsms

(ou alors modifier la ligne RewriteBase / de ton .htaccess)

si c'est déjà ok pour toi, regardes au plus simple pour constater si le mode rewrite fonctionne :


créer un fichier tata.html

Code :
<html><head></head><body>:)</body></html>

créer un fichier .htaccess au même niveau

Code :
RewriteEngine on
RewriteBase /
RewriteRule toto.html tata.html
</IfModule>

normalement l'url http://localhost/moncmsms/toto.html devrait pointer vers tata.html
#5
Merci Bess,

Je te confirme que mon installation de CMS MS est en racine donc :
Code :
RewriteBase /

Pour info, je ne suis pas en localhost Tongue


J'avais déjà fait un test comme celui que tu préconise, ça ne marchait pas, je l'ai refais au cas ou, ... ça ne marche tjs pas Sad


Je viens, je ne sais pas trop pourquoi (association d'idées peut-être), de regarder la configuration d'Apache dans le fichier "default" du répertoire "sites-enabled" ... et devine ce que j'ai trouvé :

Code :
DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

Pour ceux qui ne sont pas familiarisés avec les fichiers de configuration d'Apache, les 2 directives intéressantes sont les :
Code :
AllowOverride None
Ce qui veux dire en bon français : ne prendre en compte aucune directive des fichiers .htaccess !!!!! Rolleyes
En gros, Apache ne lit même pas les fichiers .htaccess !

Je crois que je vais me coller un bonnet d’âne et me terrer au fond d'une grotte ...

Bredt
#5
Merci Bess,

Je te confirme que mon installation de CMS MS est en racine donc :
Code :
RewriteBase /

Pour info, je ne suis pas en localhost Tongue


J'avais déjà fait un test comme celui que tu préconise, ça ne marchait pas, je l'ai refais au cas ou, ... ça ne marche tjs pas Sad


Je viens, je ne sais pas trop pourquoi (association d'idées peut-être), de regarder la configuration d'Apache dans le fichier "default" du répertoire "sites-enabled" ... et devine ce que j'ai trouvé :

Code :
DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

Pour ceux qui ne sont pas familiarisés avec les fichiers de configuration d'Apache, les 2 directives intéressantes sont les :
Code :
AllowOverride None
Ce qui veux dire en bon français : ne prendre en compte aucune directive des fichiers .htaccess !!!!! Rolleyes
En gros, Apache ne lit même pas les fichiers .htaccess !

Je crois que je vais me coller un bonnet d’âne et me terrer au fond d'une grotte ...

Bredt
#6
rigoles pas je suis certain que tu n'est pas le premier ni le dernier qui se ferra avoir.

Bon le principal c'est que tu t'en sois sortie Smile

allez bonne continuation, moi je clôture.
#6
rigoles pas je suis certain que tu n'est pas le premier ni le dernier qui se ferra avoir.

Bon le principal c'est que tu t'en sois sortie Smile

allez bonne continuation, moi je clôture.


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)