2016-04-16 133 views
0

问候并预先感谢您的帮助!.htaccess 301在wordpress中重定向选择子文件夹中的子文件夹

我正在尝试从“类别”子文件夹中重定向某些子文件夹,但不是全部。其中只有5个左右。

实施例:

http://domain.com/category/fish

http://domain.com/category/lamb

应该重定向到

http://domain.com/tasty/fish

http://domain.com/tasty/lamb

但是:

http://domain.com/category/lead-paint

不应该。

我已经试过(在.htaccess):

RewriteRule ^/category/fish http://example.com/tasty/fish [R=301,L] 
RewriteRule ^/category/lamb http://example.com/tasty/lamb [R=301,L] 

我之前和WordPress的模块后尝试。我也尝试插入Wordpress模块​​,如下所示:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^/category/fish http://example.com/tasty/fish [R=301,L] 
    RewriteRule ^/category/lamb http://example.com/tasty/lamb [R=301,L] 
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

对.htaccess的更改肯定会起作用。错别字生成500响应,我可以通过IP地址进行阻止。我不确定是否Wordpress重写我的重定向,或者如果我有语法错误。

再次感谢您。

+2

你只需要后''^中去除前导斜杠这两条规则。您也不需要指定完整的域。只要'重写规则^类别/鱼/?$ /美味/鱼[R = 302,L]'就可以。 (请注意,302--总是用临时重定向进行测试,然后在你快乐的时候改为永久。) –

+0

@Mike Rocckett Mike,如果你将此作为回答发布,我会接受它。谢谢。 – Jason

回答

1

您需要删除两条规则中^之后的前导斜杠。您也不需要指定完整的域。下面将做

RewriteRule ^category/fish/?$ /tasty/fish [R=302,L] 

(注302 - 总是一个临时重定向测试,然后当你快乐更改为永久)