.htaccess 310重定向包含URL的URL?(问号)

.htaccess 310重定向包含URL的URL?(问号),.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我目前正处于重新开发网站的最后阶段,但是在将旧的博客链接重定向到新格式时遇到了一些问题 我们有以下形式的旧博客的入站链接: 索引页 需要成为 这很简单,通过使用 RewriteRule ^blog-page$ /news/ [R=301,L] 个人资料页面 以上需要链接到 但是,URL结构中间的“?”看起来会破坏我的改写器。我在网上读过关于QUERYSTRING的文章,但我不相信这能解决我的问题,因为URL中没有传递任何实际参数 下面的代码可以工作,但也会传递“/?/archi

我目前正处于重新开发网站的最后阶段,但是在将旧的博客链接重定向到新格式时遇到了一些问题

我们有以下形式的旧博客的入站链接:

索引页

需要成为

这很简单,通过使用

RewriteRule ^blog-page$     /news/ [R=301,L]
个人资料页面

以上需要链接到

但是,URL结构中间的“?”看起来会破坏我的改写器。我在网上读过关于QUERYSTRING的文章,但我不相信这能解决我的问题,因为URL中没有传递任何实际参数

下面的代码可以工作,但也会传递“/?/archives/”信息

RewriteRule ^blog-page/index.php(.*)$   /news/$1 [R=301,L]

任何帮助都将不胜感激。上一个站点构建的其他几个部分由于某些原因使用相同的URL结构。

您需要一个额外的规则来匹配查询字符串。让您的
文档\u ROOT/.htaccess
如下所示:

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^/archives/(.+?)\.html$ [NC]
RewriteRule ^blog-page/index\.php$ /news/%1? [R=301,NC,L]

RewriteRule ^blog-page$ /news/ [R=301,L,NC]

非常感谢你。工作得很好!现在我必须自己去理解:)不客气,很高兴它成功了。我找到了一个很好的htaccess资源