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

.htaccess 检测由 '-'

如何解决.htaccess 检测由 '-'

我在网上找不到任何有用的资源,所以我只是在这里询问
我的 .htaccess 文件包含以下代码行:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^KOP/shop/(\d+)*$ KOP/shop/details.PHP?id=$1 [L]
RewriteRule ^KOP/order/(\d+)*$ KOP/order.PHP?id=$1 [L]

当我进入时
本地主机/KOP/order/1612-8077-68
I get a page not found error

但是当我进入时
本地主机/KOP/order/1612807768
The rewrite works,and writes out the number from $_GET

我想知道我应该在我的代码中更改什么才能让它用数字之间的破折号重写。我的 .htaccess 文件中有一行告诉 apache 只重定向数字吗?

解决方法

根据您显示的示例,您能否尝试以下操作。请确保在测试您的网址之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^KOP/shop/(\d{4})-(\d{4})-(\d{2})$ KOP/shop/details.php?id=$1$2$3 [L]
RewriteRule ^KOP/order/(\d{4})-(\d{4})-(\d{2})$ KOP/order.php?id=$1-$2-$3 [L]  
// Remove the dashes to get only the numbers ↑

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^KOP/shop/(\d+)*$ KOP/shop/details.php?id=$1 [L]
RewriteRule ^KOP/order/(\d+)*$ KOP/order.php?id=$1 [L]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。