【问题标题】:.htaccess routing strange behavior.htaccess 路由奇怪的行为
【发布时间】:2017-08-06 09:02:12
【问题描述】:

我在使用 .htaccess 重写 url 时遇到了一点困难

我正在尝试使页面 https://example.com/foo/ 指向 https://example.com/bar/ 而不更改 url(意味着 url 应该保留:https://example.com/foo/

我的 htaccess 文件如下所示:

RewriteEngine on
RewriteRule ^foo(/.*|)$ /bar$1 [PT,L,NC]

这似乎适用于所有情况,但有一种情况:当我访问页面 https://example.com/foo 时(我自动被重定向到 https://example.com/foo/,并查看页面 https://example.com/bar 的内容,这应该正常工作)然后当我从 url 末尾删除“/”时(我正在访问的 url 再次是 https://example.com/foo)我的 url 这次更改为 https://example.com/bar/

htaccess 文件没有写入任何其他内容。

编辑:我还注意到重写规则在重定向到 https 时可以正常工作。 (这就是为什么当我输入 example.com/foo 时它会起作用)

【问题讨论】:

  • foobar 是真实目录吗?
  • Foo 不存在,bar 存在。

标签: apache .htaccess


【解决方案1】:

小修正

RewriteEngine on
RewriteRule ^foo(.*)$ bar/$1 [L]

应该解决问题

【讨论】:

  • 试过没用,我也注意到重写规则在重定向到 https 时应该正常工作,如果它不需要重定向它就不起作用。
  • 它对我有用,你能看看我在做什么是正确的场景吗?我的文件在这里 --drive.google.com/file/d/0Byqr9WL_JfnHMUdsSW9ZNlY3SlU/…
猜你喜欢
  • 2020-11-06
  • 2014-10-23
  • 2017-09-01
  • 2016-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-28
相关资源
最近更新 更多