Aller au contenu

Sujets conseillés

Posté (modifié)

Concernant mon site, j'ai « www.psydk.org » et « psydk.org » qui fonctionnent. Je ne souhaiterais garder qu'un seul nom : « psydk.org ». Par conséquent, mon but est de rediriger toute requête commençant par www.psydk.org vers psydk.org.

J'ai utilisé ce bout de code dans mon .htaccess :


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.psydk\.org$ [NC]
RewriteRule ^(.*)$ [url="http://psydk.org/$1"]http://psydk.org/$1[/url] [R=301,L]

Je rencontre un problème, et j'ai aussi une interrogation.

D'abord, le problème :

J'ai l'option Multiviews d'activée, ce qui me permet d'écrire une adresse ainsi :

[color=blue]http://psydk.org/attic au lieu de [color=blue]http://psydk.org/attic.php

Or quand l'URL rewriting agit, il me rajoute l'extension sans que je ne lui demande rien. Ainsi :

[color=blue]http://www.psydk.org/attic devient [color=blue]http://psydk.org/attic.php :huh:

Comment faire pour que le chemin d'origine ne soit pas altéré ?

Ensuite, mon interrogation :

N'y a-t-il pas une autre méthode que l'URL Rewriting qui est à mon sens démesurée pour une telle utilisation ? Genre un « RedirectMatch permanent » ?

Merci d'avance ^_^

Modifié par Hadrien
Posté

Le RedirectMatch ne traitera que les fichiers, pas le nom de domaine.

Une solution est d'enlever l'alias www dans le fichier de conf Apache, ou lui donner un autre DocumentRoot (sous un autre VirtualHost) dans lequel tu pourrais faire un RedirectPermanent sur l'ensemble du site.

Posté

Bon eh bien, après avoir mis en place tout ça sur mon hébergeur (OVH 60gp) je n'ai rien vu venir. J'ai donc envoyé un message à la hotline. Réponse : on ne peut pas créer de sous-domaine nommé « www ».

Au final le miroir de mon site a été indisponible pendant 48H pour rien, je suis vert :(

Tant pis, je vais me replonger dans la documentation du mod_rewrite :ph34r:

Posté

Clair que sur un hébergement mutualisé tu n'as pas accès au fichier de config Apache. Je ne savais pas sur quel type d'hébergement tu étais...

Il semble donc bien que le mod_rewrite soit ta seule solution.

Dan

Posté

Je suis en effet repassé par l'url rewriting.

J'ai écrit un truc qui semble bien fonctionner (j'espère que je n'ai pas oublié certains cas) :


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.psydk\.org [NC]
RewriteRule ^(.*) [url="http://psydk.org%{REQUEST_URI}"]http://psydk.org%{REQUEST_URI}[/url] [R=301,L]

Après redirection il conserve bien l'URI d'origine entrée par l'utilisateur :fete:

Ça m'apprendra à copier/coller des lignes toutes faites, pourtant prises sur le site « no-www.org » :P

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...