0

私のWPインストールの気まぐれのため​​に、私は次の形式のパーマリンクを持っていました:

古い形式: http://mysite.org/index.php/%year%/%monthnum%/%day%/%postname%/

当時、機能させるには「index.php」が必要でした。私の WordPress .htaccess ファイルは標準でした。

最近、ホスティング会社が私を別のサーバーに移行しました。現在、古い形式は機能しません。「index.php」なしの別のパーマリンク形式は機能します。

新しい形式: http://mysite.org/%year%/%month%/%daynum%/%postname%/

私のブログやサードパーティのサイトには古い形式の古いリンクがたくさんあるので、古い形式を維持したいと思います。リダイレクトと書き換えのルールを .htaccess ファイルに挿入しようとしましたが、役に立ちませんでした。

ありがとう!

4

1 に答える 1

1

次のルールを追加できます。

RewriteRule ^index.php/(.*)/?$ /$1/ [R=301,L]

WordPress ルールの上:

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

そして、古いスタイリング URL から新しいスタイリング URL への 301 パーマネント リダイレクトが送信されます。

基本的な WordPress ルールがあるとする.htaccessと、次のようになります。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php/(.*)/?$ /$1/ [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
于 2013-09-07T18:09:17.047 に答える