2009-07-15 8 views
2

Je souhaite écrire un fichier .htaccess pour rediriger mes sous-domaines et la dernière variable de l'URL vers un nouvel emplacement. Voici ce que je veux faire:Sous-domaine htaccess redirct avec le dernier paramètre d'URL

http (s): //abc.example.com/books

Je veux que mon URL interne soit comme:

http://example.com/?name=abc&type=books

J'ai déjà obtenu la redirection de sous-domaine pour fonctionner, mais je ne suis pas en mesure de faire sous-domaine avec variable dans la dernière partie de l'URL.

Comment puis-je accomplir ceci?

+1

Il est d'usage, si votre problème a été résolu par l'une des réponses ci-dessous, pour vérifier la marque à côté de cette réponse. Cela aide les autres à savoir que votre problème a été résolu et vous dites merci à la personne qui répond. – random

Répondre

4

Cela devrait faire ce que vous voulez:

RewriteCond %{HTTP_HOST} ^(.+).example.com 
RewriteRule ^(.*)% http://example.com/?name=%1&type=$1 [R,L] 

Le "% 1" signifie utiliser le premier groupe de capture du RewriteCond ci-dessus.

+0

Merci Greg pour votre commentaire mais pouvez-vous s'il vous plaît faire plus loin et et réglez pour url like, http://abc.example.com/books et je veux les deux variables "abc" et "livres" aussi. et je veux le rediriger vers un profile.php –

+0

Cela fera "abc" et "livres" – Greg

+0

Hey Greg yo sont un grand homme. Je trébuchais sur ce problème depuis tellement de temps. tellement résolu. Merci verymuch –

2
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com 
RewriteRule ^([^/]*)$ http://example.com/?name=%1&type=$1 [R,L] 
"%1"

Les moyens utilisent le premier groupe de capture dans le RewriteCond, tandis que $1 est le premier groupe de capture dans la règle elle-même.

Dans votre exemple %1 sera « abc » et $1 sera « livre »

[^/]* signifie « correspondent à tous les caractères ne pas être une barre oblique, 0 ou plusieurs fois »

+1

Merci pour votre explication mon problème sont résolus et j'obtenir les deux variables Merci beaucoup. –

Questions connexes