douguai6716 2013-10-02 09:01
浏览 19
已采纳

mod_rewrite不适用于干净的网址

I am using wamp server for my projects and have stuck in making the urls clean

currently my url address is like this

http://localhost/BookProjectFinal/booksdetails.php?pid=8

I want to make it like this

http://localhost/BookProjectFinal/booksdetails/8

What I am using in my .htaccess file is this

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ booksdetails.php?pid=$1
RewriteRule ^([a-zA-Z0-9]+)/$ booksdetails.php?pid=$1

But its not working its returning the whole url. What the problem with it? Thanks

  • 写回答

1条回答 默认 最新

  • dtsps2098 2013-10-02 09:12
    关注

    The RewriteBase parameter will tell mod_rewrite from which directory to start matching. This can be used for applications that live in subfolders of apache. You may want to set it to /BookProjectFinal/ here.

    Your regexp is looking to match a complete alphanumeric URL optionally followed by a slash, which I'm not sure is what you want. Try something like:

    RewriteRule bookdetails/([0-9]+) bookdetails.php?pid=$1
    

    to match only the number. Here's a test:

    RewriteEngine On
    RewriteRule ^bookdetails/([0-9]+) bookdetails.php?a=b&pid=$1
    

    Matches URLs of the form /bookdetails/8. Use print_r($_GET) to sanity check in bookdetails.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据