2011-11-29 41 views
1

我作为由WordPress生成此.htaccess文件和电子商务插件:如何在.htaccess中将特定的永久链接wordpress页面重定向到另一个页面?

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteRule ^.products/images/(\d+)/?\??(.*)$ /wp-content/plugins/shopp/core/image.php?siid=$1&$2 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

我现在有重定向人谁访问http://mydomain.com/golfhttp://mydomain.com/products/category/golf/

我有这些规则块中的现有块以上其中半工作:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^golf.*$ products/category/golf/ [R=permanent,L] 
RewriteRule ^cycling.*$ products/category/cycling/ [R=permanent,L] 
#...etc 
</IfModule> 

的问题是,如果例如有人类型​​,它仍然重定向。我试图玩弄通配符等,但不能让它只允许/高尔夫和/高尔夫/

也......是设置这些规则的最有效的方式吗?我应该做某种如果或如果或如果然后重定向?

谢谢:) 本

回答

2

尝试改变2个正则表达式:

RewriteRule ^golf(/.*)?$ products/category/golf/$1 [R=permanent,L] 
RewriteRule ^cycling(/.*)?$ products/category/cycling/$1 [R=permanent,L] 

(/.*)一个 “/” 或 “/某事”,而匹配?意味着它可能不在那里。目标处的$ 1表示无论在括号中是否匹配。所以有人去http://mydomain.com/golf/foo.html将得到服务/prodducts/category/golf/foo.html

+0

完美,谢谢乔恩。我希望它只允许'高尔夫'和'高尔夫',而不是'高尔夫/任何',所以我将它改为: RewriteRule ^高尔夫(/)?$产品/类别/高尔夫/ [R =永久,L ] –

相关问题