由于Django不执行.htaccess(至少在我的主机上),我需要以与你执行.htaccess RedirectMatch类似的方式执行301 RedirectMatch:
RedirectMatch 301 ^/oldfolder/(.*)$ http://sub.domain.com/newfolder/$1
通配符的工作方式与.htaccess的工作方式不同,所以任何帮助都会受到赞赏!它也必须是永久重定向,以便搜索索引知道它已被移动。我将重定向的内容是图像到我的新CDN子域。
答案 0 :(得分:2)
未经测试:
# Django >= 1.3
from Django.views.generic.base import RedirectView
urls = patterns('',
# some patterns here...
url(
r"^oldfolder/(?P<whatever>.*)$",
RedirectView.as_view(
url="http://sub.domain.com/newfolder/%(whatever)s",
)
),
# more patterns here
)
[edit]重新阅读你的问题:“我将图像重定向到我的新CDN子域” - 如果这是关于静态媒体(图像,CSS等)那么它们不应该由Django提供,而是由你的前端提供Web服务器(Apache,Nginx,等等)所以假设Apache你可以在你的vhost配置中使用一个简单的RedirectMatch
。