2
我有一个django站点设置与lighttpd和ssl工作,但我似乎无法得到重定向工作从http到https。我的设置是非常相似的:https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#lighttpd-setup和我使用的lighttpd/1.4.26在Ubuntufcgi,ssl和django,将HTTP重定向到HTTPS
基本上我的设置看起来是这样的:
$HTTP["host"] =~ "myhost.com" {
server.document-root = "/home/myvenv/blah"
fastcgi.server = (
"/blah.fcgi" => (
(
"host" => "127.0.0.1",
"port" => 16666,
"check-local" => "disable",
"max-procs" => 4,
"min-procs" => 4,
)
)
)
url.rewrite-once = (
"^(/favicon.ico.*)$" => "/$1",
"^(/admin_media.*)$" => "/$1",
"^(/media.*)$" => "/$1",
"^(/.*)$" => "/blah.fcgi$1",
)
expire.url = (
"/favicon.ico" => "access 1 seconds",
"/admin_media" => "access 1 seconds",
"/media" => "access 1 seconds",
)
}
我想添加这个做我的HTTP到HTTPS重定向:
$SERVER["socket"] == ":80" {
$HTTP["host"] =~ "(.*)" {
url.redirect = ("^/(.*)" => "https://%1/$1")
}
}
问题是,当我启用重定向,我的URL中获取改写,如:
https://myhost.com/blah.fcgi/my/path/to/blah
投入时,我真的只是想blah.fcgi部分:
https://myhost.com/my/path/to/blah
我不知道为什么重定向包括重写和/或如何防止它实际上做了正确的重定向?
非常感谢。
哦,呃,那肯定有效。 Thx刺激我的大脑:) – jmat
任何想法为什么发生这种情况?我假设这是因为mod_rewrite必须在重定向之前发生? – jmat
我不完全确定,我有和你一样的假设。 –