mod_rewrite を使用して、URL の末尾をマイクロコマンドとして機能する PHP スクリプトに転送しています。私のURLは次のようになります。
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 をスローするようにするには、どのようなルールを使用できますか?