私はサイトを開発しており、URL を書き直して見栄えを良くし、アクセスしやすくしようとしています。
まず、PHP では rawurlencode と rawurldecode を使用して URL をサニタイズしています。
次に、私の .htaccess ファイルで、これは私が使用している RewriteRule です:
RewriteRule ^(/(/[^/]*/?)?)?([^/]+[a-zA-Z0-9])/(albums)/(.*)$ /name.php?name=$3&page=photos&album=$5 [L]
まず、これは 1 つの URL を除いて私が試したすべてのもので完全に機能しますが、その理由はまだよくわかりません。
問題の URL はhttps://domain.com/name/albums/album%3B.%2Fです。
今、私は .htaccess に ErrorDocument を設定しましたが、通常はそのドキュメントに移動することすらありません。404 エラーがドメイン ホストの通常のエラー ページに表示されます。URLがサニタイズされているため、これが機能しない理由を理解しようとしているため、この問題の原因はわかりません.
URL の最後の部分が "album;./" からエンコードされていることに疑問がある場合に備えて...
発生しているこのエラーを修正する方法について提案がある場合は、お知らせください。事前に返信をいただければ幸いです。