【问题标题】:nginx simple .htm to .php rewrite rule does not worknginx 简单的 .html 到 .php 重写规则不起作用
【发布时间】:2015-11-24 20:23:08
【问题描述】:

我有这个简单的重写规则:

rewrite ^/category.htm /category.php last;

它不起作用,网站给出 404 错误。

这仅在特定服务器上发生,而此规则在其他任何地方都适用。

重要的是,如果我从规则中删除点 (.) 并使用下划线表示,它可以正常工作。

所以我认为转义点 (.) 存在一些问题

我也试过了,但它也不起作用:

rewrite ^/category\.htm /category.php last;

谁能帮忙!

【问题讨论】:

  • 出于安全原因,我不能这样做,但这让我想到了寻找其他可能会造成混乱的东西,谢谢

标签: php mod-rewrite nginx


【解决方案1】:

我不是 100%,我现在没有办法测试它,但我认为这个时期需要放在括号中。您可能还需要一个美元符号。所以,类似:

rewrite ^/category(.)htm$ /category.php last;

我不能保证这是正确的答案,但我很确定你在尝试逃避这个时期是在正确的轨道上。

【讨论】:

  • 感谢您的回复,但它不起作用我也尝试过这样rewrite ^/category([\.])htm$ /category.php last;但没有运气:(
  • 看来我没有很好地阅读您最初的帖子!是的,您最初发布的内容也对我有用。也许发布整个配置?
  • 此配置文件中包含另一个配置,它的一些规则与我的规则搞砸了!感谢您的帮助
【解决方案2】:

我通过清空整个文件然后逐行添加回来发现了问题...

因此,我确切地发现了问题出在哪里,并且是一个外部文件弄乱了该文件中的规则...

我给大家的建议是,如果您遇到这种情况,请先尝试评论所有包含,然后您可以放心地说,无论您的代码发生了什么,您都可以修复它

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 2017-01-13
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2013-02-24
    • 2013-08-14
    相关资源
    最近更新 更多