3

私のhtaccessは次のとおりです。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^moreinfo/(.*)$ http://www.kgstiles.com/moreinfo$1 [R=301]
    RewriteRule ^healthsolutions/(.*)$ http://www.kgstiles.com/healthsolutions$1 [R=301]
    RewriteRule ^(.*)\.html$ $1/ [R=301]
    RewriteRule ^(.*)\.htm$ $1/ [R=301]
</IfModule>

私は現在、ストレートなhtmlコーディングではなくワードプレスを使用しています。上記の rewriterules は、ルート ディレクトリと /moreinfo/ および /healthsolutions/ ディレクトリにあるすべての古い .html および .htm ページを転送するように機能します。残念ながら、WordPress ページから .htm と .html も削除されます (最初はすべて php で終わると思っていました)。現在、wordpress のビジュアル エディターでイメージ エディターを開くなどの基本的な機能のいくつかが .html で終了していることがわかります (それらを使用すると 404 エラーが発生します)。

質問は、Wordpress の機能が妨げられないように、書き換えルールを特定のディレクトリに制限する方法はありますか?

どんな助けでも大歓迎です!

4

2 に答える 2

1

次のような書き換え条件を追加する必要があります。

RewriteCond $1 !^(dontrewrite\.php)

そこに正規表現を追加して、特定のディレクトリ/フォルダー/ファイルタイプを省略することができます。

于 2012-12-11T21:14:38.300 に答える
1

次のようなことを試すことができます:

RewriteEngine オン

# assuming wordpress is installed in blog directory
RewriteRule ^blog(/.*|)$ - [L] # don't take any action

RewriteRule ^moreinfo/(.*)$ http://www.kgstiles.com/moreinfo$1 [R=301,L]
RewriteRule ^healthsolutions/(.*)$ http://www.kgstiles.com/healthsolutions$1 [R=301,L]
RewriteRule ^(.*)\.html$ $1/ [R=301,L]
RewriteRule ^(.*)\.htm$ $1/ [R=301,L]

于 2012-12-11T21:14:53.963 に答える