0

私たちの wordpress ブログの 1 つで問題を解決しようとしています。ウェブサイトのルート ディレクトリに pdf が保存されています。

www.mydomain.com/pdfs/mypdf.pdf

しかし、ワードプレスのそのpdfへのすべてのリンクは、たとえば、現在の投稿/タグ/カテゴリなどに対してすべてが作成されているかどうかまだわからない理由があります

www.mydomain.com/blog/mypost/pds/mypdf.pdf

これにより、多くの 404 エラーが発生しています。現在、このようなページが数百ページありますが、手動でそれらすべてを確認する必要はありません。問題を解決するために .htaccess でできる奇妙なことはありますか?

前もって感謝します

アラン

私は今これを持っています。

RewriteRule ^urlaub_cornwall_sonderangebote\.pdf$ "http\:\/\/www\.urlaubcornwall\.de\/pdf\/urlaub_cornwall_sonderangebote\.pdf" [R=301,L]

URLの書き換えは確実に有効になっていますが、これは私のローカルマシンでは機能しますが、サーバーでは機能しません。ヒントはありますか?

これを機能させるには、ルールを標準のワードプレス ルールの上に移動する必要がありました。すべてが解決されました。

4

1 に答える 1

0

ここでURLを書き換える必要があるかどうかはわかりません。簡単な解決策があります-MySQLクエリを介して投稿テーブルのリンクを更新してみることができます。REPLACE()MySQLデータベースには、一致する文字列()を持つテーブルデータをfrom_string新しい文字列()に置き換えることができる便利でシンプルな文字列関数がありますto_string。これは、会社名、郵便番号、URLの変更、スペルミスなど、多くのレコードまたは行に影響を与えるテキスト文字列を検索して置き換える必要がある場合に役立ちます。

の構文はREPLACEですREPLACE(text_string, from_string, to_string)

MySQLリファレンスtext_stringでは、REPLACEを、文字列のすべての出現箇所が文字列from_stringに置き換えられた文字列を返す関数として説明しています。ここで、の検索でto_string大文字と小文字from_stringが区別されます。はtext_string、次のように、データベーステーブルのフィールドからも取得できます。

UPDATE wp_posts SET post_content = REPLACE(post_content, 'www.mydomain.com/pdfs/mypdf.pdf', 'www.mydomain.com/blog/mypost/pds/mypdf.pdf')

デフォルトのWordpressテーブル名を変更していないと思います。変更していない場合は、コピーして貼り付ける前に、上記のクエリの名前を置き換えてください。

于 2012-04-30T11:38:49.087 に答える