2013-04-10 2 views
0

J'ai un site EC2 qui a à la fois une adresse IP élastique et un nom de domaine. Certaines personnes utilisent l'ip élastique pour accéder au site et d'autres utilisent le nom de domaine.django override request.build_absolute_uri

J'utilise le request.build_absolute_uri() pour construire des liens vers des pages générées dans le site, cependant, je veux toujours retourner le lien avec le nom de domaine pas avec l'ip.

Existe-t-il un moyen de surcharger cela ou devrais-je simplement implémenter quelque chose de similaire à build_absolute_uri?

Merci

+0

Vous devriez gérer ceci au 'nginx' ou à tout autre serveur proxy inverse que vous utilisez – karthikr

+0

J'utilise actuellement une instance ec2 unique avec le serveur web installé. Y at-il un moyen de dans le apache.conf? Merci – eran

+0

Il y a beaucoup de documentation en ligne pour le faire. Oui – karthikr

Répondre

0

request.build_abosolute_uri repose sur request.get_host(), il prend le nom de domaine ou l'adresse IP de request.META.

Vous pouvez réécrire les valeurs dans request.META dans votre middleware ou quelque part, mais je ne pense pas que ce soit une bonne solution. Il est préférable de créer une fonction personnalisée qui va construire un uri absolu mais avec un nom de domaine en paramètre.