如何解决.htaccess传递参数并删除页面名称
我的网站中具有以下文件夹结构:
example.com/
reports/
causelist/
final_causelist.PHP
我有一个指向final_causelist.PHP页面的链接/ URL,如下所示:
http://example.com/reports/causelist/final_causelist.PHP?wb_sno=23&dated=2020-10-26&j_names=Mr.+ABC
我要访问如下页面:
http://example.com/23/2020-10-26/Mr.+ABC
对于上述情况,我在 causelist 文件夹中使用以下代码创建了 .htaccess :>
RewriteEngine on
RewriteBase /reports/causelist/
Options -Indexes
RewriteRule ^(\d+)/([a-z-]+)/(.+)/$ /final_causelist.PHP?wb_sno=$1&dated=$2&j_names=$3 [L,B]
但是它没有显示该页面,并且抱怨在此服务器上找不到请求的页面吗?
解决方法
您的正则表达式与date
部分不正确匹配,并且在使用/
时必须从目标中删除前导RewriteBase
。
Options -Indexes
RewriteEngine on
RewriteBase /reports/causelist/
RewriteRule ^(\d+)/([\d-]+)/(.+?)/?$ final_causelist.php?wb_sno=$1&dated=$2&j_names=$3 [L,QSA]
,
请您尝试以下。
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(\d+)/(\d{4}-\d{2}-\d{2})/(.+?)/?$
RewriteRule ^.*$ /reports/causelist/final_causelist.php?wb_sno=%1&dated=%2&j_names=%3 [QSA,NE,NC,L]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。