ユーザー/検索エンジンに適したURLに書き直してから、元のURLを新しいURLに301リダイレクトしようとしています。
現時点では、投稿は次のように生成されます:example.com/blog/post.php?s=nice-post
しかし、私はそれらを次のように見せてほしい:example.com/blog/nice-post
これが私がこれまでに得たものです:
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{QUERY_STRING} ^s=(.+)$
RewriteRule post.php /%1? [R=301,L]
RewriteCond %{REQUEST_URI} !post.php
RewriteRule ^([a-zA-Z0-9_-]+)$ post.php?s=$1
残念ながら、これは404リダイレクトと衝突し、見つからないすべてのページを空白のpost.phpファイルに送信します。その理由を理解できません。URLの書き換え/リダイレクトにアプローチするためのより良い方法はありますか?
見てくれてありがとう:)