Url Rewriting sur a partir d'un sous domane

Nouveau WRInaute
Bonjour, j'eprouve quelques difficultés a resoudre le probleme suivant:

Je souhaite que lorsque je tape l'url :
Code:
http://sub.domaine.com

ce la pointe sur
Code:
http://domaine.com/data.php?id=1&scroll=2&lang=fr

le resultat doit bien sur m'afficher:
Code:
http://sub.domaine.com/id-scroll-lang.html

Je bloque completement la, merci d'avance pour votre aide.
 
WRInaute discret
a) je suis pas un spécialiste...
b) je suis pas sûr d'avoir tout pigé

mais :
l'adresse
Code:
sub.domaine.com
est un sous-domaine de
Code:
www.domaine.com
Ce sous domaine est déclaré dans la configuration Apache et pas par une quelconque routine d'url rewriting

Si cette première étape est réalisée, on a donc une adresse :
Code:
http://sub.domaine.com
qui pointe vers un répertoire quelconque de notre serveur ("sub" par exemple)

1 - on veut utiliser un script qui se trouve dans notre répertoire 'sub' : seule l'apparence de l'adresse
Code:
trucmuche.php?dfgr=14&ujhxwq=edscv&ghtr=8594
nous dérange et trois lignes de redirection suffiront :

Code:
Options +FollowSymlinks
RewriteEngine on 
RewriteRule ^jolinom-(.*)-(.*)-(.*)\.htm$ http://[b]sub[/b].domaine.com/data.php?id=$1&scroll=$2&lang=$3[L]
placé dans le .htaccess du répertoire "sub"

2- on veut utiliser un script qui se trouve dans un autre répertoire du serveur? on fait la même ou presque...
Code:
RewriteEngine on 
RewriteRule ^jolinom-(.*)-(.*)-(.*)\.htm$ http://[b]www[/b].domaine.com/data.php?id=$1&scroll=$2&lang=$3[L]
EskeG bien compris le problème ou est-ce qu'il vaut mieux que je range ma bouteille et que j'aille au pieu?
 
Nouveau WRInaute
Merci pour ta reponse,

En effet c la deuxieme option que je souhaite utiliser:

Subdomain apelle le script sur le domaine principal.

seulement avec la regle de recriture je me retrouve quand meme avec l'url du domaine principal.

est il possible d'appeler la page en relatif du genre :
Code:
/var/www/domaine/page.php
 
WRInaute discret
G3tty a dit:
Merci pour ta reponse,

En effet c la deuxieme option que je souhaite utiliser:

Subdomain apelle le script sur le domaine principal.

seulement avec la regle de recriture je me retrouve quand meme avec l'url du domaine principal.

est il possible d'appeler la page en relatif du genre :
Code:
/var/www/domaine/page.php

JE ne pense pas : ton script doit être dans ton site, mais il faudrait essayer avec un include...
Mais pourquoi ne pas créer tout simplement un sous domaine en passant par la configuration HTTPCONF (virtual Host), tout simplement?
 
E
EmulZone
Guest
Il est possiblede définir les Vhost dans httpd.conf, cela reste suffisant pour un serveur avec peu de noms de domaines.

Dès qu'on atteind les 10 noms de domaines, cela devient très lourd pour Apache, d'où l'utilisation de l'url rewriting.

Je cherche a y mettre en place mais la doc n'est pas assez explicite pour moi mdr.

Je vous et l'url et la partie de la 'conf'.

http://httpd.apache.org/docs-2.0/misc/rewriteguide.html

Code:
##
##  [b]vhost.map[/b]
##
www.vhost1.dom:80  /path/to/docroot/vhost1
www.vhost2.dom:80  /path/to/docroot/vhost2
     :
www.vhostN.dom:80  /path/to/docroot/vhostN

##
## [b] httpd.conf[/b]
##
    :
#   use the canonical hostname on redirects, etc.
UseCanonicalName on

    :
#   add the virtual host in front of the CLF-format
CustomLog  /path/to/access_log  "%{VHOST}e %h %l %u %t \"%r\" %>s %b"
    :

#   enable the rewriting engine in the main server
RewriteEngine on

#   define two maps: one for fixing the URL and one which defines
#   the available virtual hosts with their corresponding
#   DocumentRoot.
RewriteMap    lowercase    int:tolower
RewriteMap    vhost        txt:/path/to/vhost.map

#   Now do the actual virtual host mapping
#   via a huge and complicated single rule:
#
#   1. make sure we don't map for common locations
RewriteCond   %{REQUEST_URL}  !^/commonurl1/.*
RewriteCond   %{REQUEST_URL}  !^/commonurl2/.*
    :
RewriteCond   %{REQUEST_URL}  !^/commonurlN/.*
#
#   2. make sure we have a Host header, because
#      currently our approach only supports
#      virtual hosting through this header
RewriteCond   %{HTTP_HOST}  !^$
#
#   3. lowercase the hostname
RewriteCond   ${lowercase:%{HTTP_HOST}|NONE}  ^(.+)$
#
#   4. lookup this hostname in vhost.map and
#      remember it only when it is a path
#      (and not "NONE" from above)
RewriteCond   ${vhost:%1}  ^(/.*)$
#
#   5. finally we can map the URL to its docroot location
#      and remember the virtual host for logging puposes
RewriteRule   ^/(.*)$   %1/$1  [E=VHOST:${lowercase:%{HTTP_HOST}}]
    :

Je cherchais pour ma part, permettre d'utiliser un alias du type 'alias.domaine.com', qui chargerait la page 'www.domaine.com/alias'.

C'est possible mais comment lol;-) (avis aux pros lol)
 
Nouveau WRInaute
ca yest je viends de me taper mes 96 vhosts ct la meilleure solution merci,

en lancant apache j'ai le temps de regarder la trilogie du seigneurs des anneaux lol

mais je l'ai deja poussé a 1900 vhosts avec un module perl de remplissage.

Merci pour vos reponses. :D
 

➡️ 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