【发布时间】:2015-03-21 06:39:00
【问题描述】:
我很抱歉问这个问题,因为答案似乎很简单。然而,经过三个小时的反复试验,我毫无头绪。
我在网站上有几个页面使用 url 中的参数。我想将其更改为更常规的网址。示例:
domain.com/pag.php?id=1-awesome-page 应该变成 domain.com/awesome-page
到目前为止一切顺利,但到目前为止我遇到了三个问题。 1. 旧页面仍然可以访问,谷歌会将其作为重复内容进行索引。当我尝试重定向它时,我收到了无限循环错误。 2. 无论出于何种原因,有时某些图像(直接来自内容)会在新命名的页面上被删除。我尝试使用 base-url 并重命名图像和 url,但到目前为止还没有。 3. 重定向也不关心我是输入 id=1-awesome-page 还是 id=2-worthless-page。全部重定向到第一个。
在我尝试过的事情中。
RewriteCond %{QUERY_STRING} id=1-awesome-page
RewriteRule ^pag\.php$ /awesome-page? [L,R=301]
RewriteRule ^awesome-page?$ pag\.php?id=1 [NC]
【问题讨论】:
-
您是否在更改
.htaccess后删除该页面的浏览器缓存,即旧网址仍然可以访问的原因可能是因为您的浏览器正在“记住”它?跨度> -
我尝试关闭并重新打开浏览器和旧的 CTRL+F5 但这没有帮助。
-
这是一个“硬”重载。要清除 chrome 上的缓存(仅针对您正在处理的那个页面)打开开发者工具,然后单击并按住重新加载按钮,直到出现清除缓存的选项 - 这将清除缓存 - 。
标签: .htaccess mod-rewrite redirect