我有一个奇怪的情况,我正在努力解决,我已经完成了301次重定向,但是这些让我感到困惑,我正在努力找到类似的堆栈溢出有用的东西(我真的试过了!)
我有一个新的网站,URL结构与旧网站结构完全不同(新网站建立在WordPress上,永久链接使用通常的htaccess重写规则)。
重新使用的网址没有模式或关联 - 我只想要从旧网址到新网址的硬重定向。
我认为这可能是.asp部分搞砸了,或者查询var也许 - 我尝试过很多不同的事情而且没有运气 - 我真的很感激这方面的帮助!< / p>
这显然不起作用:
/info/index.asp?page=a-string-here
这是我正在尝试做的事情:
旧网址示例:
/something-completely-different
新网址示例
{{1}}
答案 0 :(得分:1)
如果页面仅由“&#39;页面”定义。 querystring变量,然后你可以使用这样的东西:
RewriteCond %{QUERY_STRING} page=a-string-here
RewriteRule .*$ /something-completely-different? [L,R=301]
如果没有让我更多地了解旧网址的结构。
注意:
- 将单个?
附加到替换字符串以从中删除现有查询字符串。如果您想保留旧的querstring,即/something-completely-different?page=a-string-here
,请删除?
- 如果您想添加新的查询字符串数据,可以像?
一样自然地添加它:/something-completely-different?new=var
- 最后,要在保留旧变量的同时添加新变量,请将QSA
标志添加到RewriteRule标志中。即[QSA, L,R=301]
(Source)