Se connecter avec
S'enregistrer | Connectez-vous

Url rewriting sur page statique ?

Dernière réponse : dans Programmation

Bonjour,

Est-ce possible??
Tout simplement, je voudrai transformer :

monsite.fr/pages/prestations.html

en

monsite.fr/prestations.html

Ce sont de simples pages en html!
Ce que j'ai essayé ci dessous "fonctionnent", l'adresse est réécrite, mais la page donne une erreur 500…
Suis-je sur une fausse piste? Est-ce possible d'y arriver? Ou pas?!
Merci!

  1. <Files .htaccess>
  2. order allow,deny
  3. deny from all
  4. </Files>
  5. Redirect permanent /page/prestations.html <a href="http://photographe.monsite.fr/prestations.html" target="_blank">http://photographe.monsite.fr/prestations.html</a>


  1. Options +FollowSymlinks
  2. RewriteEngine on
  3. RewriteRule ^/portfolio.html$ portfolio.html [L]

Autres pages sur : url rewriting page statique

Lassé par la pub ? Créez un compte

piclab a dit :
Bonjour,

Est-ce possible??


oui :) 


Il y a deux choses distinctes dans ta conf :
- une redirection, qui n'est pas de l'url rewriting
- une instruction de rewriting qui a l'air de faire partir ton apache en boucle (tu lui dis de remplacer portfolio.html par portfolio.html), d'où l'erreur 500

Essaye ça :
Enlève l'instruction redirect
remplace le RewriteRule actuel par ceci
RewriteRule ^/page/(.*\.html)$ $1

(ou RewriteRule ^/page/(.*\.html)$ http://photographe.monsite.fr/$1 , suis plus trop sur ;)  )

Bon courage


Plus d'infos là :
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

Merci Hadaya.
J'ai donc ça
  1. Options +FollowSymlinks
  2. RewriteEngine on
  3. RewriteRule ^/page/(.*\.html)$ <a href="http://photographe.monsite.fr/" target="_blank">http://photographe.monsite.fr/</a>$1

Malheureusement l'instruction reste sans effet.
Quand j'écris directement l'url que je devrai avoir (http…monsite.fr/page.html), j'ai une belle 404.
J'ai consulté ton lien mais c'est inabordable à mon niveau :/ , plus une question de temps que de courage.

- es tu sur d'avoir bien placé les fichiers html à la racine de ton serveur ?

alors attends reprenons, parce que je me demande si j'ai bien compris ta problématique :
tu veux que lorsque ton visiteur tape dans son navigateur (ou y accède via un lien référencé quelque part) : http://photographe.monsite.fr/page/toto.html ça le redirige automatiquement vers http://photographie.monsite.fr/toto.html, c'est bien ça ?

On peut aussi utiliser redirect au lieu de rewrite, et au lieu de réécrire toutes les redirections, on va se servir de la directive RedirectMatch

Enlèves les lignes sur le rewrite (RewriteEngine et RewriteRule) et ajoutes ça

RedirectMatch ^/page/(.*\.html)$ http://photographe.monsite.fr/$1

Celà dit si les fichiers html ne sont pas placés au bon endroit, tu continueras à avoir des 404.





Attends, avant qu'il y ai trop de confusion, je t'explique, c'est (à mes yeux) hyper basique et je pensais qu'il y avait des techniques ultra rodées pour ça, genre l'outil pratique de base du webmaster…

Donc:
J'ai un serveur assez bien rangé, dans le dossier de mon sous domaine j'ai séparé les pages par fonction (pages texte et pages images: portfolio>section), histoire de pouvoir gérer facilement les galeries images qui doivent impérativement être séparées.

C'est vrai que je pourrai mettre les pages texte à la racine, mais la règle que je cherche me servira surtout pour les pages images, que je ne peux descendre à la racine…

Donc, le site n'est pas encore indexé tout est transparent, pas de lien à corriger.
Au lieu d'avoir:
monsite.fr/page/contact.html
monsite.fr/portfolio/reportage.html

Je voudrai les url
monsite.fr/contact.html
monsite.fr/reportage.html
:sweat: 

aaaaaah ok

alors en fait c'est l'inverse qu'il faut faire

Saut que là ça ne marche plus dans le cadre de ta structure de répertoire et tu vas probablement être bon pour toutes les faire à la main

RewriteRule ^contact.html$ http://photographe.monsite.fr/page/contact.html
RewriteRule ^reportage.html$ http://photographe.monsite.fr/portfolio/reportage.html

là quand un internaute tapera http://monsite.fr/contact.html, le contenu qui va s'afficher sera celui de http://monsite.fr/page/contact.html (mais l'url reste inchangée)

Je comprends mieux où j'ai définitivement le cerveau en mode boulet ce lundi ? :) 


Boulet je me permettrai pas :lol: 
En tout cas il se passe quelque chose maintenant, mais l'inverse du résultat voulu!
En tapant monsite/contact, j'arrive sur monsite/page/contact.
Le contenu est bon mais l'url change quand même.
J'ai tenté d'inversé dans la règle mais je fais partir la chose en boucle…

J'ai donc ça
  1. Options +FollowSymlinks
  2. RewriteEngine on
  3. RewriteRule ^contact.html$ <a href="http://photographe.gnagnagna.fr/page/contact.html" target="_blank">http://photographe.gnagnagna.fr/page/contact.html</a>
Lassé par la pub ? Créez un compte