dongtaihui5131 2017-02-24 03:56
浏览 25

Php htaccess RewriteRule如何修复

i get the $_GET['id'] from url to show a page, to htaccess i have the follow code to show like this shop/123 and not shop.php?id=123

    RewriteEngine on
RewriteRule shop/(.*)/ shop.php?id=$1
RewriteRule shop/(.*) shop.php?id=$1

My problem is .. If i add to url shop/123/test/test/test this still working again and i have problems with the share links etc.

How i can fix it to takes only one parametes else to go to 404?

Sorry for my English

  • 写回答

3条回答 默认 最新

  • dora0817 2017-02-24 04:07
    关注

    If id is only numerical, you can change the rewrite rule to this:

    RewriteEngine on
    RewriteRule shop/(\d+)/ shop.php?id=$1
    RewriteRule shop/(\d+) shop.php?id=$1
    

    If you also have alphabets in id:

    RewriteEngine on
    RewriteRule shop/([a-zA-Z\d]+)/ shop.php?id=$1
    RewriteRule shop/([a-zA-Z\d]+) shop.php?id=$1
    
    评论

报告相同问题?

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接