私はこの問題を3日間解決しようとしてきましたが、答えが見つからないので、誰かがこれに光を当てることができることを願っています.
.htaccess を使用して、SEO の目的で永続的な 301 リダイレクトとして URL を動的に書き換えることを検討しています。以下の変更を検討しています。
OLD URL EXAMPLE: http://example.co.uk/blog/?tag=facebook/page/5/
OLD URL EXAMPLE: http://example.co.uk/blog/?tag=twitter/page/2/
OLD URL EXAMPLE: http://example.co.uk/blog/?tag=google/page/12/
に
NEW URL: http://example.co.uk/blog/?tag=facebook&paged=5
NEW URL: http://example.co.uk/blog/?tag=twitter&paged=2
NEW URL: http://example.co.uk/blog/?tag=google&paged=12
タグ(「facebook」)とページネーション番号(「5」) の2 つの動的プロパティを、リクエストごとに異なる可能性があるため、受信する URL リクエストごとに再利用できるようにする必要があります。
この理由は、ページネーションを使用せず、'/page/5' として表示される 'next' と 'previous' のみの古い wordpress ブログからの 404 エラーを解決しようとしているためです。新しいブログでは、「&paged=5」と表示されるページネーションが使用されています。
これは私が試した例です。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/blog/$
RewriteCond %{QUERY_STRING} ^tag=([a-z]+)/page/([0-9])$
RewriteRule ^(.*)$ http://example.co.uk/blog/?tag=%1&paged=%2 [R,L]
PHP は CGI として実行されており、Apache に変更することはできず、サイト全体で多くの権限の問題が発生します。
RewriteRules、RewriteConds、および %{QUERY_STRING} リクエストの組み合わせをいくつか試しましたが、まだ満足できません。これについて何か助けていただければ幸いです。