douzhenyu6533 2013-09-24 17:47
浏览 22
已采纳

当页面存在同名时,mod_rewrite不起作用

I have a page shirts.php which lists all the shirts, and then I have a page product.php?id=X, which displays the individual product information.

If I write the rule like this:

RewriteRule ^mens_shirts/([0-9]+)$ product.php?id=$1 [L]

and the input url is mens_shirts/22 it displays the product page correctly with the clean URL.

However, if I write the rule like follows:

RewriteRule ^shirts/([0-9]+)$ product.php?id=$1 [L]

and the input url is /shirts/20, instead of displaying the product page, it displays shirts.php.

  • 写回答

1条回答 默认 最新

  • douxie9347 2013-09-24 17:48
    关注

    Give this a try:

    Options +FollowSymLinks -MultiViews
    
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^shirts/([0-9]+)$ product.php?id=$1 [NC,L]
    

    I believe that happens because you have MultiViews enabled, by disabling it, it should let you do what you want. Why, read here.

    FollowSymLinks - The server will follow symbolic links in this directory.

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

报告相同问题?