为了账号安全,请及时绑定邮箱和手机立即绑定

Apache 在使用 mod_rewrite 时提供缓存内容

Apache 在使用 mod_rewrite 时提供缓存内容

PHP
狐的传说 2023-09-15 17:28:09
附加信息:网络服务器在免费共享托管上运行,它也使用 cloudflare。我想使用查询字符串,如下所示:https://网站名称/共享/结果/参数而不是这个:https://网站名称/share.php?结果=参数其中参数是查询字符串值。我设法通过修改 .htaccess 文件来做到这一点,如下所示:<IfModule mod_rewrite.c>     RewriteEngine On     RewriteCond %{REQUEST_FILENAME} !-f     RewriteRule ^([^\.]+)$ $1.php [NC]     RewriteRule ^([^/]+)/([^/]+)$ share.php?result=$1     </IfModule>当我更新share.php文件的内容时,如果我通过导航到以下位置访问它,它将提供新内容:https://网站名称/分享但是当我尝试通过以下方式访问它时:https://websitename/share/或https://websitename/share/parameter它只是提供share.php文件的缓存版本。对于这个问题我能做什么?到目前为止我尝试过的事情:清除了 cloudflare 上的缓存将缓存级别设置为:无查询字符串删除浏览器缓存尝试在不同的浏览器中打开网站
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

我设法解决了这个问题。

解决方案是更改 htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC]
    RewriteRule ^([^/]+)/([^/]+)$ share.php?result=$1</IfModule>

对此:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC]
    RewriteRule ^share/([^/]*)/([^/]*)$ /share?result=$1 [L]
</IfModule>


查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信