0

我是一个完全的新手,但没有看到我做错了什么,对于已更改名称但具有相同内容的页面来说,这似乎是非常简单的逐页重定向。

这是 .htaccess 文件,其中只有一个页面重定向低于规范重定向:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{http_host} ^clarityperformancealliance.com [nc]
RewriteRule ^(.*)$ http://www.clarityperformancealliance.com/$1 [r=301,nc]

Redirect 301 /clarity/[A].html http://www.clarityperformancealliance.com/current-performance.html

我意识到旧页面是一个名称非常糟糕的页面(使用方括号),但我不认为方括号是它失败的原因,因为我试图重定向那些没有方括号的更正常名称的页面,它们也失败了。

我在使用我认为是 Apache 服务器的共享网络解决方案 Linux 服务器上。他们以我认为非常典型的方式设置了共享服务器,因为我的根文件夹称为 htdocs,我可以在其中创建任意数量的子文件夹和网站,因此我有一个名为“clarity”的子文件夹特定网站。

非 www 到 www 重定向完美运行。这是所有单独的页面重定向(此处仅显示一个)都不起作用。

我错过了什么?

4

1 回答 1

0

重定向使用的是 %-encoded url,所以我认为[A].html应该是%5BA%5D.html

现在您的配置似乎正确,除非清晰子文件夹是网站根目录,在这种情况下,重定向中的 url 路径参数不应包含该/clarity部分;重定向适用于请求 uri,而不是文件系统路径。

所以可能是:

Redirect 302 /%5BA%5D.html http://www.clarityperformancealliance.com/current-performance.html

请注意,我使用的是302而不是 301。在规则生效之前,您应该始终使用 302(临时)重定向而不是 301(永久)。使用永久重定向时,如果要对其进行测试,则需要在每次修改之间关闭 Web 浏览器。浏览器在收到 301 后不会重新请求给定的 url。

如果这不起作用,您是否仅在旧域中使用旧 url 或在新域上请求这些旧 url 时尝试重定向问题?

于 2012-10-17T12:03:10.923 回答