这是我的.htaccess文件的内容:
RewriteEngine on
RewriteRule ^upload$ upload.php
RewriteRule ^/(\d+)/?.*$ /view.php?id=$1 [L]
第一条规则成功运作。当我导航到http://localhost/upload
时,它会显示upload.php页面。
然而,第二条规则却没有。当我浏览到:http://localhost/1234/some-string
时出现404错误。这是为了显示此页面:http://localhost/view.php?id=1234
。
希望您能看到我正在尝试对规则执行的操作,我希望完全忽略URL末尾的最后一个字符串,并将1234
作为view.php的参数。
有谁能发现为什么这不起作用?我已经尝试了我能想到的一切,但没有成功。谢谢!
答案 0 :(得分:1)
它将尝试查找目录/1234/
并失败。将/
更改为-
,它应该可以正常工作
编辑:完全错了......实际上你的模式开头有/
,而MOD_REWRITE没有第一个斜线就接收了路径。