Jefke
Jefke

Reputation:

How to redirect a http request with apache / django

I've made a simple site in Django. The urls I use are http::/www.example.com/nl/ and http://www.example.com/fr/.

My Django urls.py has the following line:

(r'^(?Pnl|fr)/', 'example.views.index'),

In example.views.index I check the language parameter. If it's 'nl' I show a template. If it's 'fr', I show a different template.

This worked great. Now the customer made two different urls:

http://www.dutch.com/ and http://www.french.com/

And finally I'll ask the question:

Is there a way for me to use the new urls without changing my django code? I assume I can tell apache to present the http://www.example.com/nl/ page when the user goes to http://www.dutch.com/. But how do I do this? And will django still be able to get the 'language' parameter from the url?

Thanks in advance for any answers.

Upvotes: 2

Views: 1578

Answers (1)

andi
andi

Reputation: 14458

If you can use .htaccess files on http://www.dutch.com that you can use apache's redirect directive like so

redirectMatch 301 ^(.*)$ http://www.example.com/nl/

This will redirect all requests sent to dutch.com to example.com/nl

You could also use

redirect 301 /index.html http://www.example.com/nl/

This will redirect only "index.html" on dutch.com to example.com/nl/ (note that the first parameter is a path and can't be an URL - no http://www)

Upvotes: 2

Related Questions