.htaccess - 如何一次 301 mod_rewrite 许多相似的 URL?
问题描述
我有很多这样的网址:
https://www.url.com/user/shop/location/scoobydoo
它们都以相同的开头,但结尾的用户名不同。我正在尝试将它们全部重定向 301 到:
https://www.url.com/profile-scoobydoo
如果我使用,这有效:
RewriteCond %{HTTP_HOST} www\.url\.com$
RewriteCond %{REQUEST_URI} ^\/user\/shop\/location\/scoobydoo$
RewriteRule .* https://www.url.com/profile-scoobydoo [R=301,L]
问题是,我有几千个用户,虽然生成它们都可以工作,但它会完全淹没 .htaccess 文件。当然必须有一个更简单的方法来通过用户名做到这一点?
但是怎么做?任何帮助是极大的赞赏。
解决方案
尝试 :
RewriteEngine on
RewriteRule ^user/shop/location/(.+)$ https://example.com/profile-$1 [L,R=301]
您还可以使用RedirectMatch
指令进行 url 重定向
RedirectMatch 301 ^/user/shop/location/(.+)$ https://example.com/profile-$1
推荐阅读
- c++ - 使用ifstream时使用和效率的差异
- javascript - 如何模拟dayjs时区
- arrays - Apps 脚本 - 比较两个数组,找出差异(单元格的值和索引)
- python - 如何将 CNN 模型一分为二并合并?
- java - 无法使用 Apache Commons 从 github CSV URL 解析标头
- python - 我想使用 pyautogui.locateCenterOnScreen 但有点像它不是真正的中心
- youtube - YouTube API 中的关键字搜索无法按预期按日期排序
- python-3.x - 无法使用 api 获取货币市场数据
- python - 我在 python 代码中导入 mifs 但我不断收到错误
- laravel - Laravel Horizon 工作人员不断无声地崩溃