【问题标题】:.htaccess redirect with exceptions.htaccess 重定向异常
【发布时间】:2015-03-17 12:45:15
【问题描述】:

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

这是我要重定向的 URL:

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

我希望对该 URL 下的任何内容的任何点击都重定向到以下 URL:

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

除了,我不想重定向这些 URL:

  • 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]

我做错了什么还是有更好的方法?

谢谢

【问题讨论】:

标签: wordpress .htaccess redirect


【解决方案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]

【讨论】:

  • 我忘了问, 是什么?在 RewriteCond 结束时做
  • 它使/ 在目录中成为可选的,所以无论你有没有,条件仍然有效。
【解决方案2】:

好吧,您将它标记为 Wordpress,因此您可以使用 Wordpress 重写 API 而不是手动添加 htaccess 规则。这是法典: http://codex.wordpress.org/Rewrite_API/add_rewrite_rule 然后将规则放入插件或主题的functions.php 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2014-08-11
    • 2021-02-08
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多