Forum CMS Made Simple FR

Version complète : contenu du fichier .htaccess pour les url élégantes
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.6.9
#~ Url du site :
#~ Hébergeur / Soft : lamp
#~ Informations Système :
----------------------------------------------

Cms Version: 1.6.9

Installed Modules:

* CMSMailer: 1.73.14
* FileManager: 1.0.2
* MenuManager: 1.6.2
* ModuleManager: 1.3.2
* News: 2.10.4.1
* nuSOAP: 1.0.1
* Printing: 1.0.4
* Search: 1.6.1
* ThemeManager: 1.1.1
* TinyMCE: 2.7.3
* Showtime: 2.0.3
* Gallery: 1.4.4


Config Information:

* php_memory_limit:
* process_whole_template: false
* max_upload_size: 10000000
* default_upload_permission: 664
* assume_mod_rewrite: false
* page_extension: /
* internal_pretty_urls: false
* use_hierarchy: true


Php Information:

* phpversion: 5.3.3-1ubuntu9.4
* md5_function: On (Vrai)
* gd_version: 2
* tempnam_function: On (Vrai)
* magic_quotes_runtime: Off (Faux)
* memory_limit: 128M
* max_execution_time: 60
* safe_mode: Off (Faux)
* session_save_path: /var/lib/php5 (1733)
* session_use_cookies: On (Vrai)


Server Information:

* Server Api: apache2handler
* Server Db Type: MySQL (mysql)
* Server Db Version: 5.1.49


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

#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour, mon site est développé en local, et quand je mets en place le mode d'emploi "url élégantes", je modifie sans problèmes le config.php, et le .htaccess mais rien ne se passe.

Je pense que j'ai mal rempli .htaccess mais j'ai beau charcher je ne vois rien, surement parceque je ne le comprends pas bien.
Voici le code de ce fichier:
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]



Merci de votre aide
bonjour,
le fichier htaccess fourni est opérationnel immédiatement.
J'ai vu déjà plusieurs posts sur le sujet ici, peut-être devrais-tu aller voir les solutions déjà proposées?

Il y en a une dont je me souviens et qui m'a débloqué la situation en local aussi (mais sous windaube), c'est la suppression de RewriteBase

Pourquoi ne pas installer la dernière version 1.9.4.2?
Si c'est pour tester en local avant de publier chez FREE, il faut mettre la 1.6.10.
Bonjour, je suis retée en 1.6.9 car je croyais que c'était la seule free compatible?
Je commence par ca, et je vous tiens au courant. merci
Faut peut-être aussi activer le module rewriting dans ton serveur local : modules apache : rewrite_module.
Bonjour, j'ai bien activer dans apache le rwriting, et j'ai supprimé rewritebase mais rien ne change. Je susi en train de faire le changement en 1.6.10
Merci de vos conseils
Bonjour, je suis à présent en 1.6.10. URL rewriting doit etre actif, car les liens sont jolis mais la page pointée est toujours inexistante: "The requested URL /private/lll47cms/presentation/ was not found on this server."Sad
peut tu me confirmer que le fichier .htaccess n'est pas par hazard .htaccess.txt ou autre subtilité du à windows XP & co ?

ça peut paraitre con pour les informaticiens, en réalité beaucoup de personnes se font avoir avec ce genre de détail.

autre détail pour vérifier que le .htaccess est bien pris en compte : écrire une ligne de merde dedans et voir si tu as bien une erreur 500.

Si oui : ok ton fichier .htaccess est bien pris en compte
Si non : tu as loupé un truc, soit le fichier est mal nommé, soit le module apache n'est pas démarré.
Bonjour Bess, j'ai fait ton test, et avec une ligne "BLABLA" dans le .htaccess, je ne me connecte plus du tout : Internal Server Error
donc erreur 500, donc .htaccess pris en compte.

J'imagine que tu utilises Wamp, tu as placé ton .htaccess à quel niveau par rapport au répertoire www de wamp ?
J'utilise Lamp. J'ai mis .htaccess dans le repertoire de mon site, cad là où il y a tout les répertoires, et les fichiers comme phpconfig
Quand je supprime .htaccess j'e retrouve la meme erreur : "page not found"
1formatnet a écrit :Quand je supprime .htaccess j'e retrouve la meme erreur : "page not found"


normal.

mais tu réponds pas vraiment à ma question : par rapport à la racine du répertoire de travail de Lamp, ou se situe le .htaccess ?
Les répertoires de trvail de lamp sont: /home/dream/media/private/ et /home/dream/media/public/

.htaccess se trouve lui dans racine /home/dream/media/private/lll47cms/
pas de .htacces présent dans

/home/
/home/dream/
/home/dream/media/
/home/dream/media/private/

?
enfin test (j'y crois pas trop)

Code :
Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+)$ index.php?page=$1 [QSA]

uniquement et donne nous également dans config.php la valeur de $config['query_var']
1) pas de .htacces présent dans

NON /home/
NON /home/dream/
NON /home/dream/media/
NON /home/dream/media/private/

2) j'ai testé tes lignes cela n'a rien changé

3) dans config.php j'ai
$config['query_var'] = 'page';
je sèche Sad
:/
1formatnet a écrit :1) pas de .htacces présent dans

NON /home/
NON /home/dream/
NON /home/dream/media/
NON /home/dream/media/private/

2) j'ai testé tes lignes cela n'a rien changé

3) dans config.php j'ai
$config['query_var'] = 'page';

D'après ce que je vois dans les différents messages de ce fil de discussion, tu développes sous ubuntu

et ton dossier web pour cms est /home/dream/media/private ;
j'en deduis peut-être hativement que dream est ton nom d'utilisateur ubuntu
/media/private, ptet un enchainement de dossiers ou tu souhaites mettre ton développement web

et /home/dream/media/private est la "racine" de cmsms ; vrai ?

dans ce dossier (private donc) mets un fichier phpinfo.php qui contient ceci
Code :
<?
phpinfo();
?>

enregistre et accede à ton fichier via ton navigateur ; url dans navigateur commençant par http://localhost... evidemment !

tu peux aussi faire ceci (dans le but de vérifier qu'apache peut accéder au contenu de ton dossier) :

deplace tout le contenu de ton dossier private (sauvegarde quoi)

dans private cree un fichier index.html contenant <html><head>test</head><body>Ceci est un test !</body></html>

et essaie d'acceder a ce fichier avec ton navigateur ; *evidemment* l'url affiche dans le navigateur doit etre http://localhost/....

J'ai un petit doute sur ton arborescence ; n'aurais tu pas dû plutôt créer un dossier public_html avec modif "qui va bien d'apache" et ainsi accéder a ton dossier avec url du type localhost/~dream/media/private
la procédure que je décris se trouve sur le web ; recherche de public_html et tu trouveras ; et je sais qu'il y a des droits "spécifiques à définir pour /home et /home/user voire /home/user/public_html (en plus de la config à faire dans apache)

Apache a t il les droits suffisants pour accéder a ce dossier (private) ?

Regarde les logs d'apache ; ça devait t'aider je pense à résoudre ton problème

Courage

Richard
Bonjour rtlinfo, j'ai les meme doutes, je pense que c'est une histoire d'arborescence. Effectivement /home/dream/media/private/ll47/phpinfo.php marche mais le meme sur /home/dream/media/private/phpinfo.php est "not found"
Il s'agit donc d'un problème de droits du dossier ou de l'arborescence dans lesquels apache doit pouvoir accéder aux fichiers.

(je résume et corrige mon dernier message, plutôt incompréhensible ; je devais être fatigué quand je l'avais rédigé Big Grin
ok merci...