[Résolu] URL rewriting problèmes

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.9.4.1
#~ Url du site : localhost
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.9.4.1
#~ Installed Modules:
#~ CMSMailer: 2.0.1
#~ FileManager: 1.1.0
#~ MenuManager: 1.7.6
#~ ModuleManager: 1.4.2
#~ News: 2.11.2
#~ nuSOAP: 1.0.2
#~ Printing: 1.1.2
#~ Search: 1.6.10
#~ ThemeManager: 1.1.4
#~ TinyMCE: 2.8.4
#~ CMSMailer: 2.0.1
#~ FileManager: 1.1.0
#~ MenuManager: 1.7.6
#~ ModuleManager: 1.4.2
#~ News: 2.11.2
#~ nuSOAP: 1.0.2
#~ Printing: 1.1.2
#~ Search: 1.6.10
#~ ThemeManager: 1.1.4
#~ TinyMCE: 2.8.4
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template: false
#~ output_compression: false
#~ max_upload_size: 128000000
#~ 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.1
#~ 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: 60
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 128M
#~ upload_max_filesize: 128M
#~ session_save_path: C:\Xamp\xampp\tmp (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.41
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour à tous,

je viens d'effectuer la mise à jour de mon site (en localhost) 1.9.4.1 car j'étais en 1.8.1

j'en ai profité pour essayer de mettre des URLs propres en copiant ça dans mon config.php
Code :
#------------
#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.  For more
#information, see:
#http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s
$config['url_rewriting'] = 'mod_rewrite';
# avant $config['url_rewriting'] = 'none';

#3 lignes ajoutees
$config['assume_mod_rewrite'] = true;
$config['internal_pretty_urls'] = true;
$config['use_hierarchy'] = true;

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


#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';


J'ai aussi mis ça dans mon htaccess:


Code :
# source : http://wiki.cmsmadesimple.org/index.php/User_Handbook/Installation/Optional_Settings/fr
# Début des options Apache de base

# Turns off directory browsing
# not absolutely essential, but keeps people from snooping around without
# needing empty index.html files everywhere
Options -Indexes

# Mise en place de la page 403.
# C'est qui qu'obtiendront les pirates.
ErrorDocument 403 /forbidden403.html

# Etre discret ne coûte rien
ServerSignature Off

# Fin des options Apache de base

# Début du filtrage, puis de réécriture d'URLs propres
# Peut nécessiter Options FollowSymLinks
# et Allow on

RewriteEngine On

# Peut être requis avec un sous dossier
# RewriteBase /

# Règles de filtrage des URLs. Vous pouvez ajouter les vôtres. Partagez les et n'oubliez pas [OR].

#Si l'URI contient "http:"
RewriteCond %{QUERY_STRING} http\: [OR]
#Ou si l'URI contient "["
RewriteCond %{QUERY_STRING} \[ [OR]
#Ou si l'URI contient "]"
RewriteCond %{QUERY_STRING} \] [OR]
#Ou si l'URI contient "<script>"
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Ou si l'URI contient un script pour positionner une variable GLOBALS de PHP par URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Ou si l'URI contient un script pour positionner une variable _REQUEST de PHP par URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Alors on bloque la requête, on envoie un 403 avant même qu'elle n'atteigne PHP (Forbidden, Last rule)
RewriteRule ^.*$ - [F,L]

# Fin du filtrage

# Réécriture ordinaire des URLs propres
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
# Fin de la réécriture

Malgré tous mes efforts
(j'ai essayé oui/non dans tous les "Créer automatiquement les URLs des pages",
"Créer automatiquement les URL courtes" et "URLs des pages requises")

Les URLs ne sont réécrites que pour les pages de 1er niveau de mon site, ca ne marche pas pour les sous-pages (qui restent en index.php?page=)

Merci d'avance de vos conseils avisés.

David
#1
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.9.4.1
#~ Url du site : localhost
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.9.4.1
#~ Installed Modules:
#~ CMSMailer: 2.0.1
#~ FileManager: 1.1.0
#~ MenuManager: 1.7.6
#~ ModuleManager: 1.4.2
#~ News: 2.11.2
#~ nuSOAP: 1.0.2
#~ Printing: 1.1.2
#~ Search: 1.6.10
#~ ThemeManager: 1.1.4
#~ TinyMCE: 2.8.4
#~ CMSMailer: 2.0.1
#~ FileManager: 1.1.0
#~ MenuManager: 1.7.6
#~ ModuleManager: 1.4.2
#~ News: 2.11.2
#~ nuSOAP: 1.0.2
#~ Printing: 1.1.2
#~ Search: 1.6.10
#~ ThemeManager: 1.1.4
#~ TinyMCE: 2.8.4
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template: false
#~ output_compression: false
#~ max_upload_size: 128000000
#~ 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.1
#~ 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: 60
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 128M
#~ upload_max_filesize: 128M
#~ session_save_path: C:\Xamp\xampp\tmp (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.41
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour à tous,

je viens d'effectuer la mise à jour de mon site (en localhost) 1.9.4.1 car j'étais en 1.8.1

j'en ai profité pour essayer de mettre des URLs propres en copiant ça dans mon config.php
Code :
#------------
#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.  For more
#information, see:
#http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s
$config['url_rewriting'] = 'mod_rewrite';
# avant $config['url_rewriting'] = 'none';

#3 lignes ajoutees
$config['assume_mod_rewrite'] = true;
$config['internal_pretty_urls'] = true;
$config['use_hierarchy'] = true;

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


#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';


J'ai aussi mis ça dans mon htaccess:


Code :
# source : http://wiki.cmsmadesimple.org/index.php/User_Handbook/Installation/Optional_Settings/fr
# Début des options Apache de base

# Turns off directory browsing
# not absolutely essential, but keeps people from snooping around without
# needing empty index.html files everywhere
Options -Indexes

# Mise en place de la page 403.
# C'est qui qu'obtiendront les pirates.
ErrorDocument 403 /forbidden403.html

# Etre discret ne coûte rien
ServerSignature Off

# Fin des options Apache de base

# Début du filtrage, puis de réécriture d'URLs propres
# Peut nécessiter Options FollowSymLinks
# et Allow on

RewriteEngine On

# Peut être requis avec un sous dossier
# RewriteBase /

# Règles de filtrage des URLs. Vous pouvez ajouter les vôtres. Partagez les et n'oubliez pas [OR].

#Si l'URI contient "http:"
RewriteCond %{QUERY_STRING} http\: [OR]
#Ou si l'URI contient "["
RewriteCond %{QUERY_STRING} \[ [OR]
#Ou si l'URI contient "]"
RewriteCond %{QUERY_STRING} \] [OR]
#Ou si l'URI contient "<script>"
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Ou si l'URI contient un script pour positionner une variable GLOBALS de PHP par URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Ou si l'URI contient un script pour positionner une variable _REQUEST de PHP par URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Alors on bloque la requête, on envoie un 403 avant même qu'elle n'atteigne PHP (Forbidden, Last rule)
RewriteRule ^.*$ - [F,L]

# Fin du filtrage

# Réécriture ordinaire des URLs propres
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
# Fin de la réécriture

Malgré tous mes efforts
(j'ai essayé oui/non dans tous les "Créer automatiquement les URLs des pages",
"Créer automatiquement les URL courtes" et "URLs des pages requises")

Les URLs ne sont réécrites que pour les pages de 1er niveau de mon site, ca ne marche pas pour les sous-pages (qui restent en index.php?page=)

Merci d'avance de vos conseils avisés.

David


Messages dans ce sujet

Atteindre :


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