如何通过.htaccess将指定API链接重定向到PHP文件?
.htaccess 重定向API许可证请求到指定PHP文件
你之前的代码只针对单个具体的许可证链接做精确重定向,自然无法匹配所有类似http://198.54.7.120:8080/api/licence/[任意许可证码]的请求。要实现批量匹配重定向,需要用mod_rewrite的正则规则来处理,具体配置如下:
基础重定向配置
将以下代码替换你原有的RedirectPermanent指令:
RewriteEngine On # 匹配目标IP和8080端口 RewriteCond %{HTTP_HOST} ^198\.54\.7\.120$ RewriteCond %{SERVER_PORT} ^8080$ # 匹配/api/licence/后任意内容的请求,永久重定向到指定PHP文件 RewriteRule ^api/licence/(.+)$ http://198.54.7.120/projet/cryptage/frontend.php [R=301,L]
可选:传递许可证码到PHP文件
如果需要在frontend.php中获取被访问的许可证码,可以在重定向URL后追加参数:
RewriteEngine On RewriteCond %{HTTP_HOST} ^198\.54\.7\.120$ RewriteCond %{SERVER_PORT} ^8080$ # 将许可证码作为licence参数传递给PHP RewriteRule ^api/licence/(.+)$ http://198.54.7.120/projet/cryptage/frontend.php?licence=$1 [R=301,L]
此时在frontend.php中可以通过$_GET['licence']获取到对应的许可证码。
规则说明
RewriteCond:限定仅匹配目标IP和8080端口的请求,避免影响其他站点或端口的配置RewriteRule中的^api/licence/(.+)$:用正则匹配/api/licence/开头的任意路径(括号内的(.+)捕获许可证码)R=301:表示永久重定向,利于搜索引擎收录和浏览器缓存L:表示这是最后一条匹配规则,避免后续规则干扰
内容的提问来源于stack exchange,提问作者Youen lb
相关产品推荐
相关产品推荐

