【发布时间】:2019-10-07 19:29:15
【问题描述】:
希望有更好经验的人可以指导我。
参考:https://www.donbur.co.uk/gb-en/news/index.php
这是一个动态生成的新闻摘要列表,带有指向文章页面的按钮链接。直到上周,按钮链接都可以正常工作。
每个链接调用一个 URL
<a class="button" href="https://www.donbur.co.uk/news/<?php echo rawurlencode($row_newsResult['newsurlkey']);?>">Read full article</a>
这很好解析。
为了处理这个链接,我得到了一个 htaccess RewriteRule:
RewriteRule ^news/([^/]*)$ /gb-en/news/article.php?title=$1 [L]
article.php 文件然后使用唯一的标题来识别和显示整篇文章......或者至少这是它应该做的并且已经做了。
不管什么原因,从新闻index.php页面,当链接被点击时,它只是刷新页面并重新写入URL到
https://www.donbur.co.uk/gb-en/news/index.php/[uniquetitleparameter]?title=[uniquetitleparameter]
括号 [] 中的部分显然填充了 rawurlencoded 字符串。
我一辈子都无法理解这里发生了什么——尤其是当我有一个相似的页面,做着非常相似的事情时,工作绝对正常 (https://www.donbur.co.uk/gb-en/features/feature-list.php)!!!!
当我将网站从 http 转换为 https 时,这一切都开始出错了:但如果这相关就无法解决??
【问题讨论】:
-
在 Chrome 开发工具中使用 缓存禁用 进行测试,然后在“网络”选项卡中检查您获得的 301/302 重定向 URL 是什么。
-
@anubhava 做到了。不确定您如何查看 301/302 重定向,但是当我单击链接时 - 它有效!我明白这是一个缓存的 htaccess 规则吗?我不知道发生了...
-
是的,这似乎是浏览器缓存问题。
标签: .htaccess mod-rewrite https