しばらくの間 mod_rewrite に苦労してきました。
私の CMS は post.php?s= を使用してブログ記事の URL を生成します。URL のこの部分を削除して、見栄えがよく、ユーザー フレンドリーになるようにしています。これが私のmod_rewriteです:
<ifModule mod_rewrite.c>
DirectoryIndex index.php index.html
ErrorDocument 404 http://tempertemper.net/error.php
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{HTTP_HOST} ^www.tempertemper\.net$
RewriteCond %{REQUEST_URI} !cron.php
RewriteRule ^(.*)$ http://tempertemper.net/$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^s=(.+)$
RewriteRule post.php /%1? [R=301,L]
RewriteRule ^resources /archive? [R=301,L]
RewriteCond %{REQUEST_URI} !post.php
RewriteRule ^([a-zA-Z0-9_-]+)$ post.php?s=$1
</ifModule>
残念ながら、見つからないすべてのページを error.php ページではなく空白の post.php ページに誘導しているようです。
私のサイトはここにあります: http://tempertemper.netそしてここに存在しない URL がありますhttp://tempertemper.net/this-url-does-not-exist
http://tempertemper.net/errorに移動します。
ご覧いただきありがとうございます:)