我的 .htaccess 文件中有以下重写规则:
RewriteRule ^page_edit_(.*) page_edit.php?page=$1
RewriteRule ^page page.php
例如,如果我转到/page_edit_12,我会看到 page.php 的内容。但我想查看 page_edit.php?page=12。
根据以下规则,它给出了正确的参数。因此,如果我按照此规则转到/page_edit_12,我会看到 page.php?edit=true&page=12 的内容
RewriteRule ^page_edit_(.*) page.php?edit=true&page=$1
RewriteRule ^page page.php
为什么我不能破坏 URL 以便它可以到达另一个文件,即使找到与另一个 URl 的匹配项(/page in/page_edit_12)?
最佳答案
第二条规则的正则表达式模式匹配“/page_edit.php”并将其重写为/page.php,在模式末尾添加$以限制它仅匹配/page。
RewriteRule ^page_edit_(.*) page_edit.php?page=$1 [NC,L]
RewriteRule ^page/?$ page.php [L]
关于php - .htaccess 将另一个规则覆盖到其他页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34084035/