301使用.htaccess重定向

时间:2011-02-12 02:00:42

标签: .htaccess mod-rewrite

Options +FollowSymlinks
RewriteEngine on

RewriteBase /
RewriteCond %{REQUEST_URI} !^category?$
RewriteRule ([^/]+)/([^/]+)/([^/]+)/$ http://domain.com/$3/ [L,R=permanent]

目前我有以下重定向,它的工作方式就像魅力一样。现在我想确保链接不以/ category /开头,因此我插入了条件。不幸的是它似乎不起作用。请帮忙。感谢。

另一个问题是,如何使斜杠之间的最终永久链接选择为仅重定向。例如,我可能有http://domain.com/downloads/26-fine-wallpapers/http://domain.com/downloads/icons/35-nice-icons/等链接,我希望这些链接重定向到http://newdomain.com/35-nice-icons/http://newdomain.com/26-fine-wallpapers/

我实际上在使用wordpress。

2 个答案:

答案 0 :(得分:2)

根据您的描述,您只有两个路径段。所以你的模式应该是:

RewriteRule ^([^/]+)/([^/]+)/$ http://example.com/$3/ [L,R=permanent]

要排除/category/…,您可以检查 REQUEST_URI 中的请求URI路径:

RewriteCond %{REQUEST_URI} !^/category/
RewriteRule ^([^/]+)/([^/]+)/$ http://example.com/$3/ [L,R=permanent]

或者您检查第一组的匹配值:

RewriteCond $1 !=category
RewriteRule ^([^/]+)/([^/]+)/$ http://example.com/$3/ [L,R=permanent]

答案 1 :(得分:0)

我认为你只需要一个前缀/

RewriteCond %{REQUEST_URI} !^/category?$