2009-11-23 6 views
2

J'ai récemment déplacé un dossier de fichiers/images sur mon site (une installation de Drupal) de/sites/default/files/vers /sites/example.com/files/, mais il y a maintenant beaucoup de 301 erreurs provenant de sources de hotlinking externes , et j'aimerais rediriger les liens entrants de l'ancien chemin par défaut vers le nouvel exemple. path « com, mais seulement pour ce un domaine ...Rendre la redirection de dossier spécifique au domaine en utilisant les règles .htaccess?

En fait, je voudrais rediriger les visiteurs de ce qui suit:

exemple dot com/sites/default/files/*

à:

exemple dot com /sites/example.com/files/*

Tout en permettant aux visiteurs d'autres domaines (par exemple example2 dot com) pour voir encore les sites/default/fichiers.

(Désolé pour tous les points com et l'espacement étranges, je suis seulement autorisé à poster un maximum d'un «lien hypertexte» - peut-être Stack Overflow devrait envisager de permettre dot com exemple autant de fois que nécessaire).

+0

BTW, le 'seul lien hypertexte autorisé' est un mécanisme de protection anti-spam pour les comptes nouvellement enregistrés. Vous serez autorisé à poster plus quand vous aurez gagné un peu plus de points de réputation. –

+0

Je vois. Je voulais juste faire remarquer que www.example.com est un lien complètement inoffensif et souvent utilisé à des fins de démonstration :) Il est un peu rebutant d'obtenir une tonne d'avertissements jusqu'à ce que vous avez mutilé chacun de vos liens dans un post ... – geerlingguy

Répondre

2

Essayez cette règle mod_rewrite:

RewriteEngine on 
RewriteCond %{HTTP_HOST} =example.com 
RewriteRule ^sites/default/files/(.*) /sites/example.com/files/$1 [L,R=301] 
+0

Juste une petite question sur la syntaxe - est-ce que le 'RewriteCond' est associé au 'RewriteRule'? C'est-à-dire, si j'ajoutais une autre Cond/Rule pour un autre domaine, est-ce que j'ajouterais juste cette définition sous la dernière ligne, et tout irait bien? – geerlingguy

+0

Spiffy! Juste refait la règle un peu (comme j'avais une autre règle pour changer non-www à www.example.com): RewriteCond %{HTTP_HOST} www.lolsaints.com$ [NC] RewriteRule ^sites/default/files/(.*) /sites/lolsaints.com/files/$1 [L,R=301] geerlingguy

Questions connexes