8795 sujets

Développement web côté serveur, CMS

Bonjour,
je développe un cms et je voudrais le rendre le plus exportable possible, ainsi, j'ai besoin de faire certaines étapes de rewritting. Le problème, c'est que selon l'utilisateur de mon cms, la configuration du serveur peut varier, je voudrais donc faire un système de rewritting d'url sans employer l'habituel htaccess. A présent ma question est: Est-il possible de faire du rewritting en full php ? Si oui, comment ?
Par exemple, j'aimerais passer d'une adresse de type "http://www.domaine.com/?page=Accueil" à une adresse de type "http://www.domaine.com/Accueil". Ceci me permettra alors de récupérer et afficher le contenu de la page "Accueil". De la même manière, je pourrais afficher une page d'erreur 404 artificielle: si je reçois une adresse de type "http://www.domaine.com/pagequinexistepas" je recherche la page "pagequinexistepas" et si je ne la trouve pas, j'affiche une erreur de type 404 (même si ça n'en ai pas une car il pourrais parfaitement y avoir un répertoire "/www/pagequinexistepas").
Wordpress semble fonctionner ainsi; sans htaccess, mais je n'ai pas su comprendre son fonctionnement.
Merci de votre aide.
Ah, il doit sûrement être généré après l'installation car j'ai un Wordpress (non paramètré) qui ne contient pas de htaccess.
Bien, sinon, comment faire sans htaccess ?

Note: si je cherche à éviter d'utiliser un htaccess c'est parce que j'ai peur que l'utilisateur en utilise déjà un et que je l'écrase.

Post Scriptum: Tant que tu es là, pourrais tu aussi m'aider pour ce topic.

Désolé d'autant vous solliciter sur le forum Smiley ohwell
Modifié par xXjujo002Xx (16 Jan 2013 - 11:20)
Oui, dans WP, le .htaccess est créé lorsque tu modifies les permaliens.
A ma connaissance, pas de réécriture d'url sans passer par une config serveur (pour laquelle le .htaccess se révèle très simple et pratique)...

tm
Administrateur
Bonjour,

j'ai eu à extraire le chemin de certaines pages d'un WP et c'est assez incompréhensible en effet (surtout le temps de comprendre paged vs page qui ne correspondait pas à ce que je comprenais de la doc, bref). Mais c'était pour UN site dont les URLs ne vont pas changer.
Je m'inquiète un peu que tu veuilles plaquer ton système d'URLs alors que chaque admin d'un WordPress a la possibilité de modifier le système d'URLs comme il l'entend (avec paramètres, avec yyyy/mm/dd pour les Posts ou une partie seulement, etc y a plein de paramètres possibles !). Utilise au maximum ce que WP propose de base et comme fonctions avant de coller ta propre logique et de bypasser / shunter WordPress complètement. À moins que tu ne sois en train de greffer un autre CMS ou appli maison avec WordPress...
Modifié par Felipe (16 Jan 2013 - 11:56)
En fait je créé un cms indépendant. Je m'intéressais juste au rewriting de wordpress car il semblait correspondre à ce que je recherchais mais visiblement no puisqu'il emploie un htaccess.
Tu peux très bien faire du rewriting sans passer par mod rewrite d'Apache ou un équivalent sur les autres serveur mais franchement ça ne présente aucun intérêt. Tous les serveurs HTTP modernes supportes le rewriting (nginx, lighttp, etc).
Modifié par jb_gfx (16 Jan 2013 - 17:32)
Bah je vais me rediriger vers le htaccess alors...
J'aurais besoin de votre aide pour la rédaction de ma rewriterule:
je voudrais que quelque soit l'url donné après le domaine, toutes les connexions soient redirigées vers l'index.php à la racine du serveur, même si l'adresse donnée dirige vers un répertoire existant sur le serveur:
par exemple si l'adresse est "http://mondomaine.com/dossierquiexiste" je voudrais que l'internaute soit redirigé vers "http://mondomaine.com/". Ca fonctionne si "dossierquiexiste" n'existe pas, autrement, l'url redirige vers le dossier en quiestion...
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?path=$1 [L,QSA]
jb_gfx a écrit :
Tu peux très bien faire du rewriting sans passer par mod rewrite d'Apache


A priori le mieux qu'on puisse faire c'est du genre "domaine.com/index.php/ma/page", donc a on toujours un index.php qui traine au milieu ce qui n'est pas toujours idéal.
Je m'y intéressais pour les mêmes raisons que Felipe : Système qui tourne actuellement sur Apache mais qui risque de passer sur Lighttpd ou nginx un jour ou l'autre.

Conclusion : Je vais rester sur le htaccess pour la réécriture d'URL, et le jour ou on passera sur un autre serveur http on avisera...
BlueScreenJunky a écrit :

A priori le mieux qu'on puisse faire c'est du genre "domaine.com/index.php/ma/page", donc a on toujours un index.php qui traine au milieu ce qui n'est pas toujours idéal.


Non, il suffit de d'assigner ta page 404 à ton fichier index.php.