Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu] URL rewriting problèmes
#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
#2

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

Le deux à la fois, ça ne va pas.
Récupère le config.php d'une install dernière version, le contenu a changé pas mal : en voici un.
Tu changes où tu vois des ***
Code :
<?php


#CMS Made Simple Configuration File
#Please clear the cache (Site Admin->Global Settings in the admin panel)
#after making any changes to path or url related options

#-----------------
#Behaviour Settings
#-----------------

# These settings will effect the overall behaviour of the CMS application, please
# use extreme caution when editing these.  Additionally, some settings may have
# no effect on servers with significantly restricted configurability.

# Warning: This option is deprecated and will be removed in later versions oF CMSMS.
# If you are experiencing problems with php memory limit errors, then you may
# want to try enabling and/or adjusting this setting.
# Note: Your server may not allow the application to override memory limits.
$config['php_memory_limit'] = '128M';

# In versions of CMS Made Simple prior to version 1.4, the page template was processed
# in it's entirety.  This behaviour was later changed to process the head portion of the
# page template after the body.  If you are working with a highly configured site that
# relies significantly on the old order of smarty processing, you may want to try
# setting this parameter to true.
$config['process_whole_template'] = false;

# CMSMS Debug Mode?  Turn it on to get a better error when you
# see {nocache} errors, or to allow seeing php notices, warnings, and errors in the html output.
# This setting will also disable browser css caching.
$config['debug'] = false;

# Output compression?
# Turn this on to allow CMS to do output compression
# this is not needed for apache servers that have mod_deflate enabled
# and possibly other servers.  But may provide significant performance
# increases on some sites.  Use caution when using this as there have
# been reports of incompatibilities with some browsers.
$config['output_compression'] = false;

# Timezone setting
# PHP 5.3 requires that timezones be set at the server level.
# This variable can be used to set your sites timezone.
# Valid values for this variable can be found at:
# [url]http://www.php.net/manual/en/timezones.php[/url]
# If this field is empty, no timezone will be set
$config['timezone'] = 'Europe/Paris';

#-----------------
#Database Settings
#-----------------

#This is your database connection information.  Name of the server,
#username, password and a database with proper permissions should
#all be setup before CMS Made Simple is installed.
$config['dbms'] = 'mysql';
$config['db_hostname'] = '***';
$config['db_username'] = '***';
$config['db_password'] = '***';
$config['db_name'] = '***';
#Change this param only if you know what you are doing
$config["db_port"] = '';


#If app needs to coexist with other tables in the same db,
#put a prefix here.  e.g. "cms_"
$config['db_prefix'] = 'cms_';

#Use persistent connections?  They're generally faster, but not all hosts
#allow them.
$config['persistent_db_conn'] = false;

#Use ADODB Lite?  This should be true in almost all cases.  Note, slight
#tweaks might have to be made to date handling in a "regular" adodb
#install before it can be used.
$config['use_adodb_lite'] = true;

#-------------
#Path Settings
#-------------

#Document root as seen from the webserver.  No slash at the end
#If page is requested with https use https as root url
#e.g. [url]http://blah.com[/url]
$config['root_url'] = 'http://www.***.**';

#SSL URL.  This is used for pages that are marked as secure.
$config['ssl_url'] = 'https://www.***.**';

#Path to document root. This should be the directory this file is in.
#e.g. /var/www/localhost
$config['root_path'] = '/homez.**/***/***';

#Name of the admin directory
$config['admin_dir'] = 'admin';

#Where do previews get stored temporarily?  It defaults to tmp/cache.
$config['previews_path'] = '/homez.**/***/***/tmp/cache';

#Where are uploaded files put?  This defaults to uploads.
$config['uploads_path'] = '/homez.**/***/***/uploads';

#Where is the url to this uploads directory?
$config['uploads_url'] = $config['root_url'] . '/uploads';


#---------------
#Upload Settings
#---------------

#Maxium upload size (in bytes)?
$config['max_upload_size'] = 64000000;

#Permissions for uploaded files.  This only really needs changing if your
#host has a weird permissions scheme.
$config['default_upload_permission'] = '664';

#------------------
#Usability Settings
#------------------

#Allow smarty {php} tags?  These could be dangerous if you don't trust your users.
$config['use_smarty_php_tags'] = false;

#Automatically assign alias based on page title?
$config['auto_alias_content'] = true;

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

#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. [url]http://www.mysite.com/index.php?page=somecontent)[/url]
$config['query_var'] = 'page';

#--------------
#Image Settings
#--------------

#Which program should be used for handling thumbnails in the image manager.
#See [url]http://wiki.cmsmadesimple.org/index.php/User_Handbook/Admin_Panel/Content/Image_Manager[/url] for more
#info on what this all means
$config['image_manipulation_prog'] = 'GD';
$config['image_transform_lib_path'] = '/usr/bin/ImageMagick/';

#Default path and URL for uploaded images in the image manager
$config['image_uploads_path'] = '/homez.**/***/***/uploads/images';
$config['image_uploads_url'] = $config['root_url'] . '/uploads/images';

#SSL URL.  This is used for pages that are marked as secure.
$config['ssl_uploads_url'] = '/uploads';

#------------------------
#Locale/Encoding Settings
#------------------------

#Locale to use for various default date handling functions, etc.  Leaving
#this blank will use the server's default.  This might not be good if the
#site is hosted in a different country than it's intended audience.
$config['locale'] = 'fr_FR.utf8';

#In almost all cases, default_encoding should be empty (which defaults to utf-8)
#and admin_encoding should be utf-8.  If you'd like this to be different, change
#both.  Keep in mind, however, that the admin interface translations are all in
#utf-8, and will be converted on the fly to match the admin_encoding.  This
#could seriously slow down the admin interfaces for users.
$config['default_encoding'] = 'utf-8';
$config['admin_encoding'] = 'utf-8';

#This is a mysql specific option that is generally defaulted to true.  Only
#disable this for backwards compatibility or the use of non utf-8 databases.
$config['set_names'] = true;

# URL of the Admin Panel section of the User Handbook
# Set none if you want hide the link from Error
$config['wiki_url'] = '[url]http://wiki.cmsmadesimple.org/index.php/User_Handbook/Admin_Panel[/url]';

#------------------------
#Miscelaneous Settings
#------------------------

#Add performance information (in the form of an HTML comment) to the
#bottom of all generated pages.  Note, this may cause problems with validation
#or with advanced AJAX requests where only portions of a page are requested.
#This variable just needs to exist, value is irrelevant.
#$config['show_performance_info'] = 'anything';

?>
Et l'.htaccess qui va avec pour mod_rewrite, sécurité et cache des images, fichiers compressés... Spécial OVH
Code :
RewriteEngine On
SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1
SetEnv MAGIC_QUOTES 1
SetEnv PHP_VER 5

#option to remove directory listings in all folder (avoid publishing unwanted contents)
Options -Indexes
Options +FollowSymLinks
# Deny access to config.php
# This can be useful if php ever breaks or dies
# Use with caution, this may break other functions of CMSms that use a config.php
# file.  This may also break other programs you have running under your CMSms
# install that use config.php.  You may need to add another .htaccess file to those
# directories to specifically allow config.php.

# <Files "config.php">
#     order allow,deny
#    deny from all
# </Files>
<FilesMatch "\.(ico|flv|jpe?g|png|gif|js|css|swf)$">
ExpiresActive On
ExpiresDefault "access plus 1 month"
</FilesMatch>
<IfModule mod_deflate.c>
    # Insert filter on all content
    SetOutputFilter DEFLATE
    # Insert filter on selected content types only
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
    # Netscape 4.x has some problems...
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    # MSIE masquerades as Netscape, but it is fine
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    # Don't compress images
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary

</IfModule>
FileETag MTime Size

# URL Filtering helps stop some hack attempts
#IF the URI contains a "http:"
RewriteCond %{QUERY_STRING} http\: [OR]

#OR if the URI contains a "["
RewriteCond %{QUERY_STRING} \[ [OR]

#OR if the URI contains a "]"
RewriteCond %{QUERY_STRING} \] [OR]

#OR if the URI contains a "<script>"
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

#OR if the script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

#OR if any script is trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]

#OR if the URI contains UNION
RewriteCond %{QUERY_STRING} UNION [OR]

#OR if the URI contains a double slash
RewriteCond %{QUERY_STRING} // [OR]

#OR if the URI contains a *
RewriteCond %{QUERY_STRING} \*

#then deny the request (403)
RewriteRule ^.*$ - [F,L]

# End URL Filtering

# CMSMS Rewriting
# Set assume mod_rewrite to true in config.php and clear CMSMS cache
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
# END CMSMS

# END Rewrite rules

# No sense advertising what we are running
ServerSignature Off
Celui-là, tu peux le coller tel quel sur OVH.
#3

Ok pour pas les deux à la fois (prettyurl OU rewrite)

Je vais copier le config.php et le .htaccess que tu as mis au-dessus, je vais remettre mes paramètres dedans et je reviens une fois cet essai effectué pour dire ou j'en suis.

Merci pour cette réponse rapide et super détaillée. Smile

David

[réponse corrigée suite à l'ajout de .htaccess]
#4

Regarde ma première réponse, j'ai ajouté l'.htaccess.
#5

t'es un rapide :o
#6

Le forum n'est pas toujours vanté pour sa délicatesse, mais bien pour sa réactivité aux questions posées.
J'espère que tu ne sous-entendais pas autre chose Wink
#7

Non mais on a beau s'attendre à qqc de rapide, quand on est pas vraiment de la partie, ça surprend (en bien)

Je viens de mettre mes .htaccess et config.php

Pour le .htaccess, j'ai copié collé tel quel

Pour le config.php, j'ai repris les adresses sur mon ancien config.php

Mais je ne vois plus mon site en localhost/cms maintenant :mad:

J'ai bien vidé templates_c

J'ai relu pour voir si je n'avais pas fait de fautes de frappe mais je n'ai rien trouvé

Et tout d'un coup j'ai pensé à regarder ça:
[Image: xamp.jpg]

Mais pas sur que ça aide vraiment Sad

Désolé mais malgré ton aide, je patauge là
#8

Je croyais que tu avais transféré tout sur ovh !!!!
Citation :#~ Hébergeur / Soft : OVH
Tes problèmes proviennent de la configuration du logiciel Xamp.
Voir recherche Xampp sur l'url_rewriting :http://www.google.be/search?rlz=1C1GPCK_..._rewriting
#9

D'accord

Par contre, ça se complique pour moi pour modifier Xampp, je me sens pas capable de le faire

Quel logiciel me conseillerais tu pour remplacer Xampp sur mon PC de façon à ce que je puisse voir mon site avec les URLrewritten?

C'est quand même assez pénalisant ce truc...
#10

Comme tu ne vas pas garder ton Xampp ou autre serveur sur ta machine pour publier ton site sur internet, je ne vois vraiment pas l'intérêt de te préoccuper de l'url_rewriting.
Fin de discussion.
#11

Citation :Quel logiciel me conseillerais tu pour remplacer Xampp
le forum mode lecture !!!!
[TUTO] mod_rewrite (réécriture d'url) avec wamp (serveur local)

J-C Etiemble v 2.2.xx
#12

Je vais donc essayer avec Wamp, la modification me parait plus simple qu'avec Xampp

Merci pour le coup de main

David
#13

Apres un court essai sur Wamp (pas très concluant), je décide donc de finir de développer mon site sur Xampp sans l'URL rewriting et je ne mettrai l'URL rewriting que directement sur mon site internet en ligne une fois que mon site sera totalement terminé et en ligne.
Sujet fermé


Atteindre :


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