Apache Web サーバーで .htaccess ReWrite を動作させるのに苦労しています。いくつかのチュートリアルを読み、Grep との正規表現の一致をテストしました。
コードは次のとおりです。
RewriteRule \?action=viewArticle&articleId=([0-9]*)&categoryId=([0-9])$ essays/$1 [R=301,L]
ここに私が一致させようとしているURLがあります:
http://mysite.com/?action=viewArticle&articleId=15&categoryId=1
そしてに変更
http://mysite.com/essays/15
更新: 解決策! ジョンからの非常に優れたチュートリアルで。<base href="/">
CSS を正しく機能させるために、ヘッダー ファイルを挿入することは非常に重要でした。
最終的な書き直しは次のようになりました。
RewriteCond %{THE_REQUEST} /?action=viewArticle&articleId=([0-9]*)&categoryId=([0-9])
RewriteRule ^$ /essays/%1? [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^essays/([0-9]+) /?action=viewArticle&articleId=$1&categoryId=([0-9]) [L]