很灵异的 apache 伪静态规则偶尔会失效 大家遇到过吗?求解决方法

2018-08-02 11:56:45 +08:00
 jookr

根目录下的.htaccess 内容

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ /index.php?/$1 [QSA,PT,L]
</IfModule>

/abc/123.php 是真实存在的文件,内容是不接收传参,也没有跳转的,也就是不会收到外部影响。 根据以上规则,此 URL 是不走伪静态的,实际效果也确实如此。 但是会偶尔出现这个 url 打开的是伪静态后响应的内容 也就是 RewriteCond %{REQUEST_FILENAME} !-f 这条规则偶尔会失效,继续匹配到下面 RewriteRule ^(.*)$ /index.php?/$1 [QSA,PT,L] 这条规则上去了

请问有经验的大佬这个问题是由于什么而引发的呢,怎么解决这个问题呢?

3656 次点击
所在节点    Apache
1 条回复
jookr
2018-08-02 14:10:45 +08:00
只有我这么倒霉吗?::doge::

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/476215

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX