regex - 使用 htacesss 重写 URL 和重定向基本 url
问题描述
我是 htaccess 重写规则和正则表达式的新手,我想重写我的基本 url -> /service/authentication/?step=1
to -> /service/new/auth/1
step= 是从 1 到 5 的参数
所以我的规则是:
RewriteRule ^new/auth/([^/.]+)?$ /service/index.php/authentication/?step=$1 [L]
RewriteRule ^new/auth/([^/.]+)?/$ /service/index.php/authentication/?step=$1 [L]
所以当我/service/new/auth/8
在 url 中访问时它工作得很好
所以在那之后我创建了一个新规则来将基本 url 重定向到重写的 url
我的规则是:
RewriteRule ^authentication/$ /service/new/auth/$1 [L,R]
基本网址现在重定向到/service/new/auth/?step=1
它必须重定向到的问题/service/new/auth/1
而不显示 step=1 和?必须是身份证
我想我的 regax 有问题
感谢所有帮助
解决方案
使用您显示的示例,请尝试遵循 htaccess 规则。确保将这些规则放在重写规则之前(我假设这些规则已经存在于您的文件中)。
确保在测试 URL 之前清除浏览器缓存。
RewriteEngine ON
##Rules for external redirect goes from here....
RewriteCond %{THE_REQUEST} \s/service/authentication\?step=(\d+)\s
RewriteRule ^ /service/new/auth/%1? [R=301,L]
##rest of your rules for internal redirect/rewrite goes from here..
推荐阅读
- django - Fargate oneoff 任务继续运行
- syntax - Slurm作业名的语法?
- gcloud - gcloud 组件安装错误,Windows 10 WSL 1 上的权限被拒绝,即使在使用 sudo 权限执行后也是如此
- css - 溢出隐藏不起作用 - CSS - 样式化组件
- firebase - Firebase 实时数据库 Cron 作业
- javascript - 需要使用更新对象返回现有数据结构
- python - 一个 x 值的多个 y 值图的标签
- php - 如何在 PHP 中使用 CDATA 创建 SOAP 请求
- json - YAML / OpenAPI:定义键值对,其值具有两个字段(整数和字符串)
- reactjs - 使用 ms graph API 实现 PeerToPeer 调用