微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.htaccess传递参数并删除页面名称

如何解决.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 举报,一经查实,本站将立刻删除。