我希望我的用户为他们将通过我的 CMS 添加的一些内容指定友好的 URL。但是,.htaccess 并不是我真正的强项(我通常会像瘟疫一样避免它)。
到目前为止,这是我所拥有的几乎可以完美运行的内容:
RewriteEngine on
RewriteRule ^arg/([0-9a-z\-]+)/?$ index.php?arg=$1 [NC,L]
显然 - 我可能不会/arg
在生产中使用“”来指定它,但出于所有意图和目的,它现在适用。
这可能是不言而喻的——但所有通常看起来像的请求:
index.php?arg=some-argument
看起来不像/arg/some-argument
这正是我想要的。
这就是问题所在
现在 - 如果用户在index.php
没有传递参数的情况下结束 - 它是 404s。我想向最终用户提供特定于页面的选项列表 - 而不是将它们发送到通用 404。我该怎么做?
编辑:我回答了这个问题,因为我发现了一些有用 的东西- 但是,我并不完全理解我的答案中发生的所有事情,如果有人可以准确地分解正在发生的事情 - 甚至只是验证我正在以正确的方式做这件事- 我会很感激。