Forum CMS Made Simple FR
Réécriture d'URL (mod_rewrite) rime avec erreur 404 - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : Réécriture d'URL (mod_rewrite) rime avec erreur 404 (/thread-1894.html)



Réécriture d'URL (mod_rewrite) rime avec erreur 404 - Marouy - 09/04/2012

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site : local
#~ Hébergeur / Soft : EasyPHP
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.10.3
#~ Installed Modules:
#~ CMSMailer: 2.0.2
#~ CMSPrinting: 1.0
#~ FileManager: 1.2.0
#~ MenuManager: 1.7.7
#~ MicroTiny: 1.1.1
#~ ModuleManager: 1.5.3
#~ News: 2.12.3
#~ Search: 1.7
#~ ThemeManager: 1.1.4
#~ AdvancedContent: 0.9.3
#~ Gallery: 1.5.3
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template: false
#~ output_compression: false
#~ max_upload_size: 2000000
#~ 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.2.8
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ memory_limit: 128M
#~ max_execution_time: 30
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 2M
#~ session_save_path: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.1.30
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Salut à tous,

Malgré beaucoup de recherche sur le forum, je ne trouve pas de solution à mon problème.
C'est très simple, il s'agit de la réécriture d'URL.

Je précise qu'en "internal", le site fonctionne en local avec l'url "127.0.0.1/site/index.php/ma_page" et en ligne avec l'url "http://www.site.fr/index.php/ma_page".

J'ai suivi le tutoriel officiel (dossier doc de CMSMS).
Voici ma configuration :

.htaccess :
Code :
[== Indéfini ==]
Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /

  # 301 Redirect all requests that don't contain a dot or trailing slash to
  # include a trailing slash
  # except for form POSTS
  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]

config.php :
Code :
[== Indéfini ==]
  #------------
  #URL Settings
  #------------

  #What type of URL rewriting should we be using for pretty URLs?  Valid options are:
  #'none', 'internal', and 'mod_rewrite'.  'internal' will not work with IIS some CGI
  #configurations. 'mod_rewrite' requires proper apache configuration, a valid
  #.htaccess file and most likely {metadata} in your page templates.  
  $config['url_rewriting'] = 'mod_rewrite';

  #Extension to use if you're using mod_rewrite for pretty URLs.
  $config['page_extension'] = '';

  #If you're using the internal pretty url mechanism or mod_rewrite, would you like to
  #show urls in their hierarchy?  (ex. http://www.mysite.com/parent/parent/childpage)
  $config['use_hierarchy'] = true;

  #If using none of the above options, what should we be using for the query string
  #variable?  (ex. http://www.mysite.com/index.php?page=somecontent)
  $config['query_var'] = 'page';

Dès que je fais ces modifications, l'URL de ma page passe bien en local en "127.0.0.1/site/ma_page" ou en ligne "http://www.site.fr/ma_page" mais dans les 2 cas, il s'agit d'une erreur 404 !

J'ai bien vidé le cache du navigateur et de cmsms, mais rien ne change !

Dans l'admin, j'ai essayé les options suivantes :
Code :
[== Indéfini ==]
Créer automatiquement les URLs des pages : [b]non (J'ai essayé aussi avec oui)[/b]
Créer automatiquement les URL courtes : [b]non (J'ai essayé aussi avec oui)[/b]
URLs des pages requises : [b]non (J'ai essayé aussi avec oui)[/b]


Quelles sont les "bonnes" options ?

Je précise que je teste en local avec easyPHP et en ligne sur un de mes sites et les 2 me renvoient de l'erreur 404 !

Merci beaucoup pour votre aide !
Bonne fin de journée,
Marouy Smile


Réécriture d'URL (mod_rewrite) rime avec erreur 404 - Jean le Chauve - 09/04/2012

Et avec RewriteBase /site, ça fonctionne ?
Vérifie aussi que le module rewriting est bien activé dans easyphp.
Autre possibilité : http://www.cmsmadesimple.fr/forum/viewtopic.php?pid=22912#p22912
Citation :ou en ligne "http://www.site.fr/ma_page" mais dans les 2 cas, il s'agit d'une erreur 404 !
C'est bien joli, mais avec un lien correct, ce serait plus facile.