我正在使用 mod_rewrite 将 URL 的末尾传输到我的 php 脚本,该脚本将充当 microcms。我的网址看起来像这样:
mysite.com/articles/some-article-about-css
这会将以下内容传递给我的 PHP 脚本 index.php:
index.php?action=read&article=some-article-about-css
我有问题:
我不确定如何使用 mod_rewrite 只接受带有破折号的字母数字的最佳方法。我在互联网上找到了这条规则
((?:[a-z]+)?(?:[0-9]+)?-?)+
,它显然不允许双破折号更好,但它又长又令人困惑。我可以使用另一个(更短,更快)的规则吗?我想验证这条规则对我想要完成的事情是否有效。我对 mod_rewrite 不太擅长:
RewriteRule ^/articles/((?:[a-z]+)?(?:[0-9]+)?-?)+ /index.php?action=read&article=$1
我可以使用什么规则,以便如果 /articles/ 之后的 url 不是有效的字母数字 /w 破折号 url,自动抛出 404 而不是传递给我的脚本?