问题描述
请求的 url 是 http://localhost/views/items?item=abc
我想把它改写成 http://localhost/views/myfile.PHP?reqtype=items&item=abc
请注意查询前的最后一个关键字 url items
我想移动到查询部分为 {{1}为了得到这个,我在 .htaccess 中写了下面的代码
reqtype=items
当我测试 here 通过直接粘贴到浏览器中验证其输出(来自此链接)时,此代码运行良好,因为 URL 运行良好。但是使用 xampp(我的版本是 7.1.28)它不起作用。请记住 url-rewriting 适用于其他类型的条件(意味着 apache 配置正确且有效)但此特定示例不起作用,任何解决方案将不胜感激,谢谢。
解决方法
您能否尝试使用所示示例进行以下操作、编写和测试。请确保在测试 URL 之前清除浏览器缓存。请注意,这里的条件 RewriteCond %{ENV:REDIRECT_STATUS} ^$
对停止循环非常重要,否则它将继续重定向。我已经通过 curl
命令检查了这些规则,它们工作正常。
RewriteEngine ON
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{THE_REQUEST} \s/views/(items)\?([^\s]*)\s [NC]
RewriteRule ^(.*)$ views/myfile.php?reqtype=%1&%2 [NE,L]