[url rewiting] - Sous domaines avec un .htaccess

Nouveau WRInaute
Code:
RewriteCond     %{HTTP_HOST}    ^prod.mondomaine.com    [nocase]
RewriteRule     ^$              http://www.mondomaine.com/prod/

Je voudrais savoir si cette syntaxe vous semble correcte car j'ai quelques petits problèmes avec. Mon hébergeur a fait pointer tous les sous domaines vers la racine de mon site et maintenant j'aimerai pouvoir créer des sous-domaines moi-même.

Pour l'instant avec un .htaccess à la racine de mon site comprenant ce type de syntaxe ca fonctionne à peu pres dans le sens ou http://prod.mondomaine.com pointe bien vers http://www.mondomaine.com/prod/. Par contre http://prod.mondomaine.com/dossier/ ne pointe pas vers http://www.mondomaine.com/prod/dossier/.

Est-ce que vous voyez d'ou ca vient ? Je suis débutant en url rewritting et j'avoue que là j'ai du mal ...

D'avance merci.
 
WRInaute occasionnel
Quelque chose comme
Code:
RewriteCond     %{HTTP_HOST}    ^prod.mondomaine.com    [NC] 
RewriteRule     ^(.*)$              http://www.mondomaine.com/prod/$1 [L]
Ta condition cherchait une chaine vide, donc uniquement la racine.
 
Nouveau WRInaute
Merci pour ta réponse.

Je viens de tester mais ca ne fonctionne pas, le serveur semble chercher mais ne rien trouver ... j'ai arreter le chargement de la page au bout d'un trentaine de secondes pour etre sur de ne pas mettre le serveur sur les genoux.

En fait je ne comprends pas ceci : ^(.*)$

tu captures l'ensemble de la chaine pour la mettre dans la variable $1 ? Il faudrait peut etre juste capturer ce qu'il y a derière prod.mondomaine.com et le rajouter derrière mondomaine.com/prod.

J'ai essayé de faire ca :

Code:
RewriteCond     %{HTTP_HOST}    ^prod.mondomaine.com    [NC]
RewriteRule     ^http://prod.mondomaine.com(.*)$              http://www.mondomaine.com/prod$1

Mais ca ne fonctionne pas :-(
 
WRInaute occasionnel
Les règles et conditions de l'URL Rewriting portent sur l'URL sans le nom d'hôte. En gros, quand tu demandes une URL -http://prod.mondomaine.com/machin/truc/fichier.htm , les règles seront évaluées par rapport à /machin/truc/fichier.htm. De plus, dans le cas des .htaccess, le chemin du répertoire est retiré: si le .htaccess se trouve dans le répertoire machin, on travaille sur truc/fichier.htm, s'il est à la racine, c'est machin/truc/fichier.htm sans le / devant.

En revanche, j'avoue que la raison de l'échec des règles que je donnais précédemment m'échappe un peu, et je n'ai malheureusement pas de quoi les tester sous la main. Peut-être les mêmes règles avec avec une redirection explicite
Code:
RewriteCond     %{HTTP_HOST}    ^prod.mondomaine.com    [NC] 
RewriteRule     ^(.*)$              http://www.mondomaine.com/prod/$1 [R]
 
Nouveau WRInaute
Je viens de tester ce que tu viens de me proposer, ca fonctionne mais ca fait une redirection. Et pour la page d'accueil ca ne semble pas fonctionner...

Je continue à chercher ... si vous avez une solution à proposer, n'hésitez pas !
 
Nouveau WRInaute
Rectification, ca fonctionne aussi pour la page d'accueil.

Je ne comprends pas pourquoi la redirection fonctionne et pas la réécriture ...
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut