1
私はより良いURLに.htaccess mod_rewrite
を使用しています。私が最後に末尾のスラッシュ/
を置けば.htaccess mod_rewriteと末尾のスラッシュの問題を解決するには
RewriteRule ^artist/([0-9]+) artist.php?id=$1
RewriteRule ^artists/(.+) artists.php?culture=$1
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
それは動作しますが、以下は
は、/artist/123456
に/artist.php?id=123456
をオンに私の.htaccessファイルの一部である/artists/arabic
に/artists.php?culture=arabic
、および.PHPを削除します/artist/arabic/
のように、404エラーをスローします。これをどうすれば解決できますか?単に後続のスラッシュを削除するだけでうまくいくでしょうが、これでどのようにするのか分かりません。ユーザーが誤って/
などを追加して、そのページが存在しないと思って混乱してしまわないようにしたいだけです。
ありがとうございます!
おかげで最初のルールにオプションの末尾にスラッシュを追加する必要があり、それが動作します。そして、驚くべきことに、それは別のディレクトリの.htaccessファイルで動作します(オプションの/実際にルールを入れずに...最初のルールに置いたときの動作方法は?) – Nathan
ああ、そうです[L]フラグはオフのままにされ、次の一致に落ちました。あなたは通常それを望んでいないでしょう。私は無意識にそれを私の答えから外しました。 –