答案 0 :(得分:1)
你不需要mod_rewrite。您可以使用MultiViews。
Options MultiViews
除了你的其他选择。您需要在服务器中启用mod_negotiation。
来自文档:
MultiViews的效果如下 如下:如果服务器收到一个 请求/ some / dir / foo,if / some / dir启用了MultiViews,并且 / some / dir / foo不存在,那么 服务器读取要查找的目录 文件名为foo。*,并且有效 伪造一个名为all的类型地图 这些文件,分配相同 媒体类型和内容编码 如果客户要求的话会有 其中一个名字。然后它选择 与客户的最佳匹配 要求。
MultiViews也可能适用于搜索 对于由。命名的文件 DirectoryIndex指令,如果是 服务器正在尝试索引目录。 如果配置文件指定
DirectoryIndex索引然后是服务器 将在index.html和。之间进行仲裁 index.html3如果两者都存在。如果 两者都不存在,而index.cgi是 在那里,服务器将运行它。
如果在阅读时找到其中一个文件 该目录没有 mod_mime识别的扩展名 指定其Charset,Content-Type, 语言,或编码,然后结果 取决于的设置 MultiViewsMatch指令。这个 指令确定是否处理程序, 过滤器和其他扩展类型可以 参与MultiViews谈判。
答案 1 :(得分:0)
尝试此规则:
RewriteRule ^([^/.]+)/$ $1.php
答案 2 :(得分:0)
/?2342是否必要,或者你可以这样做吗?
RewriteRule page/(\d*) page.php?id=$1
否则就是
RewriteRule page/\?(\d*) page.php?id=$1
(我认为无论如何都有效。我现在无法测试它。)