0

由于 Django 不执行 .htaccess(至少在我的主机上),我需要以与执行 .htaccess RedirectMatch 类似的方式执行 301 RedirectMatch:

RedirectMatch 301 ^/oldfolder/(.*)$ http://sub.domain.com/newfolder/$1

通配符的工作方式与 .htaccess 不同,因此感谢您的帮助!它也必须是永久重定向,以便搜索索引知道它已被移动。我重定向的是图像到我的新 CDN 子域。

4

1 回答 1

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
  )     

[编辑] 重新阅读您的问题:“我将图像重定向到我的新 CDN 子域” - 如果这是关于静态媒体(图像、css 等),那么它们不应该由 Django 提供,而是由您的前端 Web 服务器提供( Apache,Nginx,等等)所以假设 Apache 你可以RedirectMatch在你的虚拟主机配置中使用一个简单的。

于 2012-06-30T12:05:13.207 回答