1

我正在准备从 WordPress 迁移到通过 Codeigniter 编写的站点。我很少使用 htaccess,而且从不重定向。

我的网站现在正在运行,客户访问我的网站。而且我不能只上传新网站。所以我尝试用一​​个页面来练习重定向到另一个为测试而创建的页面。我尝试使用编码和解码的 URL,但没有成功;但是,正如手册中所写,它应该很简单:

Redirect [status] URL-path URL

.ht 访问:

RewriteEngine On

Redirect 301 /?wpsc-product=подвеска-сова-медь-duplicate http://domain.com/?page_id=851

此外,Apache 有RedirectMatch并且RewriteRule [301]他们正在加载服务器,所以我更喜欢使用简单的重定向(我的主机有 CPU 负载限制)。我有大约 500 个链接。

4

1 回答 1

1

Redirect来自的ORRedirectMatch指令mod_alias无法匹配查询字符串。你必须mod_rewrite像这样使用:

RewriteEngine On

RewriteCond %{QUERY_STRING} wpsc-product=подвеска-сова-медь-duplicate [NC]
RewriteRule ^/?$ http://domain.com/?page_id=851 [L,R=301,B]

确保将此规则放在您的.htaccess.

参考:Apache mod_rewrite 简介

于 2013-11-01T14:40:18.360 回答