我有这样的网址:
www.domain.com/entry/some-unimportant-text-788
我想改写为:
www.domain.com/entry.php?entryID=788
我的规则如下:
RewriteRule ^entry/.+?-([1-9][0-9]*)$ entry.php?entryID=$1 [L]
但它改写为:
www.domain.com/entry.php/some-unimportant-text-788
所以它没有赶上"([1-9] [0-9] *)"部分。我哪里错了?也许它只是一个小小的'我失踪的事情...... g ===这次不是我的朋友,经过几个小时的尝试。
谢谢!
答案 0 :(得分:0)
尝试在.htaccess
的开头添加,以禁用MultiViews:
Options -MultiViews
Apache docs on mod_negotiation描述了多视图选项启用时的功能:
如果 服务器接收/ some / dir / foo的请求和/ some / dir / foo没有 存在,然后服务器读取目录查找所有命名的文件 foo。*,并有效地伪造了一个类型地图,列出了所有这些 文件,为它们分配相同的媒体类型和内容编码 如果客户通过名字要求其中一个,那就会有。然后呢 选择与客户要求的最佳匹配,并返回 文档。