重定向301 /subfolder/old-page-name.html http://domain.com/new-page-name.html不工作

时间:2012-10-17 07:26:49

标签: linux apache .htaccess redirect

我是一个完整的新手但是看不出我做错了什么看起来非常简单的页面重定向更改了名称但内容相同的页面。

这是.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服务器的共享Network Solutions Linux服务器。他们的共享服务器设置在我认为非常典型的时尚中,因为我的根文件夹被称为htdocs,我可以根据需要在其中创建尽可能多的子文​​件夹和网站,因此我有一个名为“clarity”的子文件夹特别网站。

非www到www重定向工作完美。这是所有单独的页面重定向(这里只显示一个)不起作用。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

重定向是使用%-encoded网址,因此我认为[A].html应为%5BA%5D.html

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

所以它可能是:

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

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

如果这不起作用,您是否仅使用旧域中的旧网址或在新网域上请求旧网址时实验重定向问题?

相关问题