2009-06-27 11 views
0

Ma page d'accueil se trouve sur www.nazgulled.net et j'ai acheté un nouveau domaine www.ricardoamaral.net. Ces deux domaines pointent vers le même serveur exact.Problèmes de redirection d'un ancien domaine vers un nouveau avec Apache et htaccess

Je vais avoir deux problèmes avec la redirection, mon code actuel est ceci:

RewriteCond %{HTTP_HOST} ^(www\.)?nazgulled\.net [NC] 
RewriteRule ^(.*)$ http://www.ricardoamaral.net/$1 [L] 

Pour l'instant je suis juste tester, mais l'idée est de remplacer [L] avec [L, R = 301 ] quand je suis prêt à tout bouger, juste pour que tu saches.

... Quoi qu'il en soit

1) Ce ne fonctionne pas, quand je l'essayer, je ne peux pas accéder à « nazgulled.net », il me donne une « erreur interne du serveur » et je n » t comprendre pourquoi ... Je ne comprends pas pourquoi parce que si remplacer "ricardoamaral.net" par "google.com", la redirection fonctionne très bien:/

2) J'ai quelques sous-domaines et je voudrais aime rediriger tout dans ceux-là aussi. Mon premier choix est d'ajouter différentes conditions/règles de réécriture pour chacun des sous-domaines mais cela prend beaucoup de code manuel et si l'utilisateur tape un sous-domaine qui n'existe pas, il ne le redirige pas et je le veux aussi.

Répondre

2

Pour 1, vous pouvez utiliser quelque chose comme ceci:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName nazgulled.net 
    ServerAlias www.nazgulled.net 
    Redirect permanent/http://www.ricardoamaral.net/ 
</VirtualHost> 

J'utilise une configuration similaire et il fonctionne parfaitement, en gardant les paramètres de requête, chemins, etc.

En ce qui concerne votre propre règle de réécriture, Je veux noter que vous pouvez perdre vos paramètres de requête si vous n'incluez pas QSA.

Pour diagnostiquer les erreurs internes du serveur, consultez simplement le fichier journal fourni par votre directive ErrorLog dans votre vhost, ou un fichier global, en fonction de votre configuration. Cela devrait vous donner la raison exacte de l'erreur.

+0

Mais cela ne résoudra pas problème # 2 droit? Mais si j'utilise cette solution, je n'ai pas besoin de me préoccuper du drapeau QSA, n'est-ce pas? Je sais que je peux les diagnostiquer comme ça, le problème est que l'url pour accéder à mon panneau de domaine ne fonctionne pas lol, je dois contacter mon administrateur de domaine ... –

+0

Vous feriez probablement mieux de gérer # 2 de la même manière que moi suggéré. J'apprécie vraiment une suggestion différente. –

+0

Je devrais ajouter un VirtualHost pour chaque sous-domaine de cette façon et c'est ce que je veux éviter ... –

3

Je pense que pour votre situation, créer des vhosts séparés serait la solution idéale. Ce que je fais souvent, c'est placer des domaines qui sont redirigés sur le même serveur mais dans un dossier différent pour garder le dossier www propre, par exemple. Mon principal site serait ici:

/var/www/example.com/public 

Pour tous mes réoriente je les placer comme ceci:

/var/www/redirects/example-2.com/public 

Dans chaque dossier public des sites redirigés vous ajoutez cette ligne à votre fichier .htaccess

RedirectMatch permanent /.* http://example.com/ 
0

Ceci est la meilleure solution. Créez un fichier bloc-notes et enregistrez-le en tant que .htaccess si vous n'en possédez pas déjà un. Mise à jour le fichier .htaccess avec le code suivant et enregistrez-

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule (.*) http://new-domain.com/$1 [R=301,L] 
Questions connexes