使用Django/Apache/mod_wsgi从foo.com到www.foo.com时使用双斜杠
我们有一个Django应用程序通过mod_wsgi在Apache上运行 我们的主域名是foo.com(不含www),但我们也希望管理www请求,通过301将它们重定向到主域名 我是这样安排的使用Django/Apache/mod_wsgi从foo.com到www.foo.com时使用双斜杠,django,apache,mod-wsgi,virtualhost,http-status-code-301,Django,Apache,Mod Wsgi,Virtualhost,Http Status Code 301,我们有一个Django应用程序通过mod_wsgi在Apache上运行 我们的主域名是foo.com(不含www),但我们也希望管理www请求,通过301将它们重定向到主域名 我是这样安排的 <VirtualHost xxx.xxx.xxx.xxx:80> DocumentRoot /var/www/vhosts/foo.com/public ServerName foo.com ServerAlias www.foo.com Alias /media/
<VirtualHost xxx.xxx.xxx.xxx:80>
DocumentRoot /var/www/vhosts/foo.com/public
ServerName foo.com
ServerAlias www.foo.com
Alias /media/ /var/www/vhosts/foo.com/public/media/
Alias /static/ /var/www/vhosts/foo.com/public/static/
RewriteEngine On
RewriteCond %{HTTP_HOST} !=foo.com [NC]
RewriteRule ^(.*)$ http://foo.com/$1 [L,R=301]
<Directory /var/www/vhosts/foo.com/public>
Order allow,deny
Allow from all
AllowOverride All
</Directory>
WSGIDaemonProcess foo.com processes=5 threads=30 display-name=%{GROUP}
WSGIProcessGroup foo.com
WSGIScriptAlias / /var/www/vhosts/foo.com/fooproject/fooproject/wsgi.py
LogLevel debug
ErrorLog /var/www/vhosts/foo.com/logs/error.log
CustomLog /var/www/vhosts/foo.com/logs/access.log combined
</VirtualHost>
通常,该规则适用于PHP站点
可能是什么?有什么东西我可以看明白吗
另外,我已将DjangoAPPEND\u SLASH
设置为False
更改
RewriteRule ^(.*)$ http://foo.com/$1 [L,R=301]
到
这可能是罪魁祸首吗<代码>http://foo.com/1美元我觉得不错。好吧,我以前没试过。这将修复使用页面而不是主页的呼叫。我现在正在更新这个问题,看看这是否有用(从Apache文档中提取):
RewriteRule^/(.+)http://foo.com/$1[L,R=301]
找到了。我被困在代理解析缓存或类似的地方@karthikr如果你想回答你的建议(重写规则^(.*$[L,R=301]),我很乐意将你的答案标记为正确。
RewriteRule ^(.*)$ http://foo.com/$1 [L,R=301]
RewriteRule ^(.*)$ http://foo.com$1 [L,R=301]