如何解决htaccess文件重写API路由
我试图将所有传入流量重定向到我的网站,并将其重定向到index.PHP,并将其余的url放入路径变量中。我的根目录中也有index.html,如果用户直接访问它,我希望将它们重新路由到index.PHP脚本。
RewriteEngine On
RewriteBase /
RewriteCond $1 !^index\.html
RewriteCond $1 !^index\.PHP
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index\.html?$ / [NC,R,L]
RewriteRule ^(.*)$ index.PHP?path=$1 [L,QSA]
重新路由似乎工作正常,但是我所有的/api/index.PHP?route=xx&mode=xx似乎也都被重新路由了。有没有办法从重写条件中排除api目录?
解决方法
能否请您尝试以下。这是在检查REQUEST_URI
是否不是从/app/index.php
开始,然后将所有内容连同传递的参数一起重新路由到index.php
,目前无法对其进行测试,将对其进行几分钟的测试
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/api/index\.php/?$ [NC]
RewriteRule ^(.*)$ index.php?path=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^/api/index(\.html)/?$ [NC]
RewriteRule ^(.*)$ index.php [NC,L]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。