Bonjour,
J'ai un soucis dans mes essais de passage vers mod_rewrite.
Lorsque je charge une page, l'URL généré ne contient pas la hiérarchie (seul l'élément enfant est réécrit). Je tombe alors sur une page 404.
Je devrais avoir :
http://<mon_site>/parent/enfant.html
Et j'ai :
http://<mon_site>/enfant.html -> 404
J'ai pourtant suivi ce qui est indiqué dans le wiki.
J'ai modifié mon config.php et il contient ceci :
$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '.html';
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
Le .htacces et une simple copie de celui fourni par défaut dans le répertoire /doc (et renommé) et mis sous la racine de cmsms.
J'ai vidé le cache.
Le seul point particulier est que l'hébergement ne se fait pas sous la racine mais dans un répertoire /html.
En effet, avec Filezilla, je vois 2 répertoires :
./cgi-bin
./html
Tout le contenu de CMSMS est sous ./html :
Dans le config.php j'ai :
$config['root_path'] = '/var/www/html/sites/<monSite>/html';
Est-ce la source de mes soucis ?
Comment corriger ?
Merci.
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS : 1.6.6
#~ Version du MLE si existante :
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.6.6
#~ Installed Modules:
#~ * CMSMailer: 1.73.14
#~ * FileManager: 1.0.1
#~ * MenuManager: 1.6.2
#~ * ModuleManager: 1.3.1
#~ * News: 2.10.3
#~ * nuSOAP: 1.0.1
#~ * Printing: 1.0.4
#~ * Search: 1.6.1
#~ * ThemeManager: 1.1.1
#~ * TinyMCE: 2.6.1.1
#~ * CGExtensions: 1.17.6
#~ * Captcha: 0.4
#~ * CGSimpleSmarty: 1.4.3
#~ * Statistics: 0.9.9
#~ * Gallery: 1.1.2
#~ * CGCalendar: 1.2.5
#~ * Comments: 1.9.2
#~ * FormBuilder: 0.6.1
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * max_upload_size: 8000000
#~ * default_upload_permission: 664
#~ * assume_mod_rewrite: true
#~ * page_extension: .html
#~ * internal_pretty_urls: false
#~ * use_hierarchy: true
#~ Php Information:
#~ * phpversion: 5.2.0-8+etch16
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * memory_limit: 32M
#~ * max_execution_time: 30
#~ * safe_mode: Off (Faux)
#~ * session_save_path: /var/lib/php5 (1733)
#~ * session.use_cookies: On (Vrai)
#~ Server Information:
#~ * Server Api: cgi-fcgi
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.0.32
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour,
J'ai un soucis dans mes essais de passage vers mod_rewrite.
Lorsque je charge une page, l'URL généré ne contient pas la hiérarchie (seul l'élément enfant est réécrit). Je tombe alors sur une page 404.
Je devrais avoir :
http://<mon_site>/parent/enfant.html
Et j'ai :
http://<mon_site>/enfant.html -> 404
J'ai pourtant suivi ce qui est indiqué dans le wiki.
J'ai modifié mon config.php et il contient ceci :
$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '.html';
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
Le .htacces et une simple copie de celui fourni par défaut dans le répertoire /doc (et renommé) et mis sous la racine de cmsms.
J'ai vidé le cache.
Le seul point particulier est que l'hébergement ne se fait pas sous la racine mais dans un répertoire /html.
En effet, avec Filezilla, je vois 2 répertoires :
./cgi-bin
./html
Tout le contenu de CMSMS est sous ./html :
Dans le config.php j'ai :
$config['root_path'] = '/var/www/html/sites/<monSite>/html';
Est-ce la source de mes soucis ?
Comment corriger ?
Merci.
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS : 1.6.6
#~ Version du MLE si existante :
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.6.6
#~ Installed Modules:
#~ * CMSMailer: 1.73.14
#~ * FileManager: 1.0.1
#~ * MenuManager: 1.6.2
#~ * ModuleManager: 1.3.1
#~ * News: 2.10.3
#~ * nuSOAP: 1.0.1
#~ * Printing: 1.0.4
#~ * Search: 1.6.1
#~ * ThemeManager: 1.1.1
#~ * TinyMCE: 2.6.1.1
#~ * CGExtensions: 1.17.6
#~ * Captcha: 0.4
#~ * CGSimpleSmarty: 1.4.3
#~ * Statistics: 0.9.9
#~ * Gallery: 1.1.2
#~ * CGCalendar: 1.2.5
#~ * Comments: 1.9.2
#~ * FormBuilder: 0.6.1
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * max_upload_size: 8000000
#~ * default_upload_permission: 664
#~ * assume_mod_rewrite: true
#~ * page_extension: .html
#~ * internal_pretty_urls: false
#~ * use_hierarchy: true
#~ Php Information:
#~ * phpversion: 5.2.0-8+etch16
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * memory_limit: 32M
#~ * max_execution_time: 30
#~ * safe_mode: Off (Faux)
#~ * session_save_path: /var/lib/php5 (1733)
#~ * session.use_cookies: On (Vrai)
#~ Server Information:
#~ * Server Api: cgi-fcgi
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.0.32
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Messages : 8,242
Sujets : 58
Inscription : Dec 2007
Réputation :
0
Est-ce toi qui a écrit ceci : $config['root_path'] = '/var/www/html/sites/<monSite>/html'; ?
Ne serait-ce pas plutot ceci : $config['root_path'] = '/var/www/html/sites/tonSite';
Est-ce que cela fonctionne sans le mod_rewrite ?
Sinon, qu'y a-t-il dans ton htaccess ?
Normalement, tu devrais avoir quelque chose comme ceci : Code : <IfModule mod_rewrite.c>
RewriteEngine on
# ici, c'est pour que tout soit redirigé sur le www
RewriteCond %{HTTP_HOST} ^tonDomaine.fr$ [NC]
RewriteRule ^(.*)$ http://www.tonDomaine.fr/$1 [R=301,L]
#RewriteCond %{HTTP_HOST} !^.*tonDomaine.fr [NC]
#RewriteRule (.*) http://www.tonDomaine.fr/$1 [R=301,L]
#Sub-dir e.g: /cmsms
RewriteBase /
# et ici, c'est pour réécrire l'url sous la forme /parent/enfant/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>
Messages : 8,242
Sujets : 58
Inscription : Dec 2007
Réputation :
0
Est-ce toi qui a écrit ceci : $config['root_path'] = '/var/www/html/sites/<monSite>/html'; ?
Ne serait-ce pas plutot ceci : $config['root_path'] = '/var/www/html/sites/tonSite';
Est-ce que cela fonctionne sans le mod_rewrite ?
Sinon, qu'y a-t-il dans ton htaccess ?
Normalement, tu devrais avoir quelque chose comme ceci : Code : <IfModule mod_rewrite.c>
RewriteEngine on
# ici, c'est pour que tout soit redirigé sur le www
RewriteCond %{HTTP_HOST} ^tonDomaine.fr$ [NC]
RewriteRule ^(.*)$ http://www.tonDomaine.fr/$1 [R=301,L]
#RewriteCond %{HTTP_HOST} !^.*tonDomaine.fr [NC]
#RewriteRule (.*) http://www.tonDomaine.fr/$1 [R=301,L]
#Sub-dir e.g: /cmsms
RewriteBase /
# et ici, c'est pour réécrire l'url sous la forme /parent/enfant/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>
Jean le Chauve a écrit :Est-ce toi qui a écrit ceci : $config['root_path'] = '/var/www/html/sites/<monSite>/html'; ? J'ai mis <monSite> pour remplacer une chaine de caractère qui est en fait l'url publique du site, c'est en fait le site d'une école primaire (je veux éviter de publier trop d'informations avant que tout ne soit stable).
Noter que le site est hébergé par le rectorat de Nantes, donc il y a de nombreux autres sites d'où "/var/www/html/sites/". Vissiblement, ils identifient un site particulier (et donc son répertoire d'install) en utilisant l'url du site comme nom de répertoire et qui remplace <monSite>. <monSite> est en fait du type ec-xxxxxxxx.ac-nantes.fr
Par contre, le /html en fin est bien présent, ce n'est pas moi qui l'ai rajouté. Cela correspond bien à ce que vois avec Filezilla : CMSMS doit être installé sous /html, il y a un autre répertoire au même niveau (cgi-bin) mais que je n'utilise pas. J'avais essayé d'installer CMSMS directement à la racine (donc en supprimant les 2 répertoires /html et /cgi-bin), mais cela ne fonctionait pas.
Jean le Chauve a écrit :Ne serait-ce pas plutot ceci : $config['root_path'] = '/var/www/html/sites/tonSite'; Non.
Jean le Chauve a écrit :Est-ce que cela fonctionne sans le mod_rewrite ? Fonctionne parfaitement avec l'install par défaut de CMSMS 1.6.6
Jean le Chauve a écrit :Sinon, qu'y a-t-il dans ton htaccess ? Mon .htaccess est exactement une copie du htaccess.txt livré dans /doc de CMSMS 1.6.6.
J'ai mis le .htaccess à la racine de mon CMSMS donc dans /html.
Donc j'ai ceci :
<IfModule mod_rewrite.c>
RewriteEngine on
#
#Sub-dir e.g: /cmsms
RewriteBase /
#
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# but ignore POST requests.
#RewriteCond %{REQUEST_URI} !/$
#RewriteCond %{REQUEST_URI} !\.
#RewriteCond %{REQUEST_METHOD} !POST$
#RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>
Merci.
Jean le Chauve a écrit :Est-ce toi qui a écrit ceci : $config['root_path'] = '/var/www/html/sites/<monSite>/html'; ? J'ai mis <monSite> pour remplacer une chaine de caractère qui est en fait l'url publique du site, c'est en fait le site d'une école primaire (je veux éviter de publier trop d'informations avant que tout ne soit stable).
Noter que le site est hébergé par le rectorat de Nantes, donc il y a de nombreux autres sites d'où "/var/www/html/sites/". Vissiblement, ils identifient un site particulier (et donc son répertoire d'install) en utilisant l'url du site comme nom de répertoire et qui remplace <monSite>. <monSite> est en fait du type ec-xxxxxxxx.ac-nantes.fr
Par contre, le /html en fin est bien présent, ce n'est pas moi qui l'ai rajouté. Cela correspond bien à ce que vois avec Filezilla : CMSMS doit être installé sous /html, il y a un autre répertoire au même niveau (cgi-bin) mais que je n'utilise pas. J'avais essayé d'installer CMSMS directement à la racine (donc en supprimant les 2 répertoires /html et /cgi-bin), mais cela ne fonctionait pas.
Jean le Chauve a écrit :Ne serait-ce pas plutot ceci : $config['root_path'] = '/var/www/html/sites/tonSite'; Non.
Jean le Chauve a écrit :Est-ce que cela fonctionne sans le mod_rewrite ? Fonctionne parfaitement avec l'install par défaut de CMSMS 1.6.6
Jean le Chauve a écrit :Sinon, qu'y a-t-il dans ton htaccess ? Mon .htaccess est exactement une copie du htaccess.txt livré dans /doc de CMSMS 1.6.6.
J'ai mis le .htaccess à la racine de mon CMSMS donc dans /html.
Donc j'ai ceci :
<IfModule mod_rewrite.c>
RewriteEngine on
#
#Sub-dir e.g: /cmsms
RewriteBase /
#
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# but ignore POST requests.
#RewriteCond %{REQUEST_URI} !/$
#RewriteCond %{REQUEST_URI} !\.
#RewriteCond %{REQUEST_METHOD} !POST$
#RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>
Merci.
Messages : 11,012
Sujets : 230
Inscription : Sep 2007
Réputation :
1
re,
comme tes données ne sont pas claires
peut être mettre
RewriteBase /sites
Messages : 11,012
Sujets : 230
Inscription : Sep 2007
Réputation :
1
re,
comme tes données ne sont pas claires
peut être mettre
RewriteBase /sites
Messages : 8,242
Sujets : 58
Inscription : Dec 2007
Réputation :
0
05/02/2010, 11:23:34
(Modification du message : 05/02/2010, 11:24:16 par Jean le Chauve.)
skimpax a écrit :Noter que le site est hébergé par le rectorat de Nantes, donc il y a de nombreux autres sites d'où "/var/www/html/sites/". Vissiblement, ils identifient un site particulier (et donc son répertoire d'install) en utilisant l'url du site comme nom de répertoire et qui remplace <monSite>. <monSite> est en fait du type ec-xxxxxxxx.ac-nantes.fr Fais des test sur #Sub-dir e.g: /cmsms
peur-être RewriteBase /sites
Tu devrais demander à l'administrateur de l'hébergeur.
Oups, grillé par Jc
Messages : 8,242
Sujets : 58
Inscription : Dec 2007
Réputation :
0
05/02/2010, 11:23:34
(Modification du message : 05/02/2010, 11:24:16 par Jean le Chauve.)
skimpax a écrit :Noter que le site est hébergé par le rectorat de Nantes, donc il y a de nombreux autres sites d'où "/var/www/html/sites/". Vissiblement, ils identifient un site particulier (et donc son répertoire d'install) en utilisant l'url du site comme nom de répertoire et qui remplace <monSite>. <monSite> est en fait du type ec-xxxxxxxx.ac-nantes.fr Fais des test sur #Sub-dir e.g: /cmsms
peur-être RewriteBase /sites
Tu devrais demander à l'administrateur de l'hébergeur.
Oups, grillé par Jc
OK, je testerai ce soir.
Merci.
OK, je testerai ce soir.
Merci.
Marche pô !
J'ai essayé divers niveaux pour la directive RewriteBase et toujours le même problème.
J'ai fait erreur sur l'analyse du problème, ce n'est pas une erreur dans la hiérarchie du chemin (je pensait qu'il manquait le /parent/ quant on devait avoir /parent/enfant/ :
J'ai une page de niveau 1 intitulée info-pratiques.
Quand je clique dessus, j'ai l'url http://<ecole>.ac-nantes.fr/info-pratiques.html qui et générée mais erreur 404.
L'url semble bon, pour j'obtiens une page 404 ?
Merci.
Marche pô !
J'ai essayé divers niveaux pour la directive RewriteBase et toujours le même problème.
J'ai fait erreur sur l'analyse du problème, ce n'est pas une erreur dans la hiérarchie du chemin (je pensait qu'il manquait le /parent/ quant on devait avoir /parent/enfant/ :
J'ai une page de niveau 1 intitulée info-pratiques.
Quand je clique dessus, j'ai l'url http://<ecole>.ac-nantes.fr/info-pratiques.html qui et générée mais erreur 404.
L'url semble bon, pour j'obtiens une page 404 ?
Merci.
Messages : 8,242
Sujets : 58
Inscription : Dec 2007
Réputation :
0
re Tu devrais demander à l'administrateur de l'hébergeur.
Messages : 8,242
Sujets : 58
Inscription : Dec 2007
Réputation :
0
re Tu devrais demander à l'administrateur de l'hébergeur.
Messages : 11,012
Sujets : 230
Inscription : Sep 2007
Réputation :
1
re,
RewriteEngine est bien valide
regarde dans un phpinfo !
Messages : 11,012
Sujets : 230
Inscription : Sep 2007
Réputation :
1
re,
RewriteEngine est bien valide
regarde dans un phpinfo !
Après contact avec l'hébergeur, leur réponse écrite : 'Le mod_rewrite n'est pas possible sur ce serveur'.
On ne va pas s'acharner => [Clos]
Merci pour vos pistes néanmoins.
Après contact avec l'hébergeur, leur réponse écrite : 'Le mod_rewrite n'est pas possible sur ce serveur'.
On ne va pas s'acharner => [Clos]
Merci pour vos pistes néanmoins.
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
si c'est possible change d'hébergeur par ce qu'un hébergeur qui n'active pas le mod_rewrite de nos jours... comment dire ...
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
si c'est possible change d'hébergeur par ce qu'un hébergeur qui n'active pas le mod_rewrite de nos jours... comment dire ...
|