.htaccess重定向有异常

时间:2015-03-17 12:45:16

标签: wordpress .htaccess redirect

我正尝试将所有访问重定向到特定的子文件夹,但有一些例外。

这是我尝试重定向的网址:

  • www.example.com/my-sub-folder /

我希望将该网址下的任何内容重定向到以下网址:

  • www.example.com/news/category/my-new-sub-folder /

除此之外,我不想重定向这些网址:

  • www.example.com/my-sub-folder/my-special-folder /.*
  • www.example.com/my-sub-folder/wp-admin /.*

我试图在我的.htaccess文件中执行以下操作,但它似乎没有处理异常:

RewriteCond %{REQUEST_URI} !^/my-sub-folder/my-special-folder(/.*)?$ [OR]
RewriteCond %{REQUEST_URI} !^/my-sub-folder/wp-admin(/.*)?$ 
RewriteCond %{REQUEST_URI} ^/my-sub-folder(/.*)?$ 
RewriteRule ^(.*)$ /news/category/my-new-sub-folder/ [R=301,L]

我做错了什么或有更好的方法吗?

由于

2 个答案:

答案 0 :(得分:1)

这是因为您在需要包含所有条件的条件下使用OR。试试这条规则。

RewriteCond %{REQUEST_URI} !^/my-sub-folder/my-special-folder/? [NC]
RewriteCond %{REQUEST_URI} !^/my-sub-folder/wp-admin/? [NC]
RewriteCond %{REQUEST_URI} ^/my-sub-folder/?
RewriteRule ^(.*)$ /news/category/my-new-sub-folder/ [R=301,L]

答案 1 :(得分:0)

你把它标记为Wordpress,所以你可以使用Wordpress重写API而不是手动添加htaccess规则。这是手抄本: http://codex.wordpress.org/Rewrite_API/add_rewrite_rule然后将规则放在插件或主题的functions.php文件中。