让 apache 和 django 添加尾部斜杠

发布于 2024-08-27 07:42:54 字数 244 浏览 6 评论 0原文

我的 /train 目录通过以下方式别名为 httpd.conf 中的脚本: WSGIScriptAlias /train /some-path/../django.wsgi

它运行良好,除了一个问题。如果用户转到 /train (没有尾部斜杠),它不会将他重定向到 /train/,而只会给他正确的页面。这是一个问题,因为这样,当没有使用尾部斜杠来访问该页面时,该页面上的相对链接会导致错误的位置。

这该如何解决呢?

谢谢。

My /train directory is aliased to a script in httpd.conf by:
WSGIScriptAlias /train /some-path/../django.wsgi

And it works well, except for one problem. If a user goes to /train (with no trailing slash) it will not redirect him to /train/, but will just give him the right page. This is a problem because this way the relative links on this page lead to the wrong place when no trailing slash was used to access it.

How can this be worked out?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挽容 2024-09-03 07:42:54

我正在使用类似的方法将 /train 重定向到 /train/,我所做的是将所有不以 / 结尾的 URL 重定向到 /train/。

<Location "/train">
     Order deny,allow
     Allow from all
     RewriteEngine on
     RewriteRule  !^.*/$  /train/  [R]
</Location>

WSGIScriptAlias /train /some-path/../django.wsgi

I'm using something like this for redirecting /train to /train/, what I do is redirecting all the URL than doesn't end with / to /train/.

<Location "/train">
     Order deny,allow
     Allow from all
     RewriteEngine on
     RewriteRule  !^.*/$  /train/  [R]
</Location>

WSGIScriptAlias /train /some-path/../django.wsgi
—━☆沉默づ 2024-09-03 07:42:54

如果您只需要从 /train 重定向到 /train/,而不是从每个没有尾部斜杠的子目录重定向,那么有一个使用 RedirectMatch 指令的更简单的解决方案:

RedirectMatch ^/train$ /train/

If you just need to redirect from /train to /train/ and not from every subdirectory without a trailing slash, then there's a simpler solution using the RedirectMatch directive:

RedirectMatch ^/train$ /train/
云朵有点甜 2024-09-03 07:42:54

将您的 urlconf 设置为接受 train/ 为有效,然后使 train 指向 通用重定向/train/

Set your urlconf to accept train/ as valid instead, then make train lead to a generic redirect to /train/.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文