apache - 如何使用htaccess根据不同的条件进行重定向?
问题描述
我似乎无法弄清楚如何使用我的 htaccess 正确地进行重定向。
我需要像这样重定向一些页面(xxx 表示任何字符串):
website.com/fr
=> 好的website.com/en
=>website.com/en/page-1
[R 301]website.com/en/category-1/xxx
=> 好的website.com/en/category-2/xxx
=>website.com/en/page-1
[R 301]website.com/en/category-3/xxx
=>website.com/en/page-1
[R 301](我有多个不同类别的子页面都需要重定向)。
我试图通过查看其他在线示例和文档来使用 Apache 的module_rewrite来解决这个问题。我已经尝试过这样的事情(但没有奏效):
RewriteCond %{REQUEST_URI} ^en/$ [OR]
RewriteCond %{REQUEST_URI} ^en/category-2$ [OR]
RewriteCond %{REQUEST_URI} ^en/category-3$ [OR]
RewriteRule (.*) https://website.com/en/page-1 [L,R=301]
解决方案
您能否尝试以下操作,按照显示的示例编写。请在将它们放入您的 htaccess 文件后清除您的浏览器缓存。
RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/(en)/?$ [NC]
RewriteRule ^(.*)$ /%1/page-1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/en/(category-[23])/[\w-]+/?$ [NC]
RewriteRule ^(.*)$ /en/page-1 [R=301,L]
推荐阅读
- python-3.x - 在 Flask - Python 中显示内容(包括视频和图像)
- rust - 如何定义一个泛型函数,该函数采用将切片转换为迭代器的函数
- next.js - NextJS - 类别(标签) - 动态页面
- django - 视图 course.views.checkout.verifypayment 没有返回 HttpResponse 对象。它返回 None 而不是
- python - sqlalchemy.exc.DataError: (psycopg2.errors.StringDataRightTruncation) 插入数据时出错
- c - 无法制作 fgets-char-array
- rust - 不能在 tokio::spawn 函数中使用结构的成员变量
- r - 使用 tablegrob 将表格拆分为多个页面
- xml - 使用 xslt 将输入文本文件修复为新的 xml
- python - 如何将聚类算法应用于我的 twitter 数据集?