首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django urlconf或.htaccess问题

django urlconf或.htaccess问题
EN

Stack Overflow用户
提问于 2010-03-29 17:48:39
回答 4查看 666关注 0票数 0

我在一个网站的子文件夹中运行我的django项目。假设我的项目要打开的地址是。

代码语言:javascript
运行
复制
http://example.com/myproject/

myproject文件夹是我的用户帐户的根文件夹。在该文件夹中,我有启动项目fcgi脚本。文件夹中的.htaccess文件包含以下内容:

代码语言:javascript
运行
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]

问题是,在某些情况下,不是将用户重定向到像这样的页面

代码语言:javascript
运行
复制
http://example.com/myproject/social/someurl/

它重定向到

代码语言:javascript
运行
复制
http://example.com/social/someurl/

这不起作用。我想知道的是如何解决这个问题。

重定向在django-socialauth (github.com/uswaretech/Django-Socialauth)中,socialauth.views.py第177行重定向没有/myproject/,类似于上面的通用示例。我还在项目中使用了django cms2.0,它将admin auth中的用户重定向到example.com/en/myproject/admin/,而不是example.com/myproject/en/admin。但这可能是django cms的问题所在。

这种行为是不是django的问题,我应该用urconf改变它,并将我的项目添加到所有的urls中,或者我应该用.htaccess来做这件事?我发现了类似的问题,遗憾的是,它仍然没有得到回答:How to write .htaccess if django project is in subfolder and subdomain?

艾伦。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-08 00:03:48

看起来django-cms-2.0使用中间件级别将locale前缀添加到url中。确实很好。

但更有趣的是,它们使用resolve('pages-root')作为所有url的前缀。

因此,您可以在urls.py中执行此操作。

代码语言:javascript
运行
复制
if not settings.DEBUG:
    urlpatterns += patterns('',
       url(r'^myproject/$', details, {'slug':''}, name='pages-root')
    )

只需确保将上述sure模式附加到cms.urls之前即可。

票数 0
EN

Stack Overflow用户

发布于 2010-03-29 18:11:43

如果你试着

代码语言:javascript
运行
复制
RewriteRule ^(myproject/.*)$ mysite.fcgi/$1 [QSA,L]
票数 0
EN

Stack Overflow用户

发布于 2010-04-02 20:31:55

设置RewriteBase:

代码语言:javascript
运行
复制
RewriteEngine On
RewriteBase /myproject/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2536985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档