请看一下这个.htaccess文件

请看一下这个.htaccess文件,.htaccess,mod-rewrite,http-status-code-301,.htaccess,Mod Rewrite,Http Status Code 301,我正在尝试使用.htaccess文件中的重写脚本为我的站点上托管在Apache服务器(Fasthosts)上的子页面实现301。我曾尝试过遵循许多文档(事实上,我以前在使用.htaccess实现301时从未遇到过任何问题!),但在这个特定的网站上,似乎什么都不起作用 目前有一个301 re直接从非www到www,运行良好。还有一些其他使用regex的代码片段,我想是用于CMS的 下面是.htaccess文件的当前状态。这里有一个我试图重新指导的301示例(第5行和第6行) 旧页: 要新建页面,请

我正在尝试使用.htaccess文件中的重写脚本为我的站点上托管在Apache服务器(Fasthosts)上的子页面实现301。我曾尝试过遵循许多文档(事实上,我以前在使用.htaccess实现301时从未遇到过任何问题!),但在这个特定的网站上,似乎什么都不起作用

目前有一个301 re直接从非www到www,运行良好。还有一些其他使用regex的代码片段,我想是用于CMS的

下面是.htaccess文件的当前状态。这里有一个我试图重新指导的301示例(第5行和第6行)

旧页: 要新建页面,请执行以下操作:

.htaccess文件:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^junkwize.com
RewriteRule (.*) http://www.junkwize.com/$1 [R=301]

RewriteCond %{HTTP_HOST} www.junkwize.com/home-Garden%20Clearance
RewriteRule (.*) http://www.junkwize.com/services/garden-clearance-london [R=301]

#Options +FollowSymlinks
RewriteRule ^.htaccess$ — [F]

RewriteRule ^([/admin]+)$ admin/login.php [L]
RewriteRule ^([/admin]+)([/blocks]+)$ admin/login.php [L]

RewriteRule ^([/blocks]+)$ index.php [L]
# RewriteRule ^([^/\.]+)-([^/\.]+)-([^/\.]+)$ index.php?main=$1&id=$2&menu=$3 [L]
RewriteRule ^([/deals]+)-([^/\.]+)$ index.php?main=$1&id=$2 [L]

# RewriteRule ^([^/\.]+)-([^/\.]+)$ index.php?main=$1&leftmain=$2 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)$ index.php?main=$1&leftmain=$2 [L]
RewriteRule ^([^/\.]+)$ index.php?main=$1 [L]
任何帮助都将不胜感激


非常感谢。

此代码有故障,无法正常工作:

RewriteCond %{HTTP_HOST} www.junkwize.com/home-Garden%20Clearance
RewriteRule (.*) http://www.junkwize.com/services/garden-clearance-london [R=301]
原因是
RewriteCond%{HTTP_HOST}
只能匹配主机名。将该代码替换为以下代码:

RewriteRule ^home-Garden\ Clearance/?$ /services/garden-clearance-london [R=301,L,NC]

谢谢@anubhava。。。我已替换:
RewriteCond%{HTTP_HOST}www.junkwize.com/home Garden%20Clearance RewriteRule(.*)http://www.junkwize.com/services/garden-clearance-london [R=301]
与:
重写规则^home Garden%20Clearance/?$/services/Garden clearance london[R=301,L,NC]
仍然不走运。会不会还有别的什么不对劲?