0

/ podcast / wp /はフォルダであり、それ以外はすべてRewriteEngineによってすでに生成された仮想ディレクトリです。WordPressが提供するコードは次のとおりです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /podcast/wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /podcast/wp/index.php [L]
</IfModule>

wp /ディレクトリ内のすべてのリクエストをリダイレクトしたい(既存のフォルダを除く)

次の可能なパス(仮想ディレクトリも)を除く:

/podcast/wp/ANYSTRING1/ANYSTRING2/feed

別のドメインへ:

example.com

除外されたパスがそのまま機能している間に.htaccessを使用します。目標は、フィードを除くWordPressブログ全体を「非表示」(リダイレクト)することです。

ご協力いただきありがとうございます!

4

1 に答える 1

1

WordPressで生成されたルールを次のように変更します。

RewriteEngine On
RewriteBase /podcast/wp/

# new stuff
RewriteCond %{REQUEST_URI} ![^/]+/[^/]+/feed$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://example.com/ [L,R]

# original wordpress stuff
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /podcast/wp/index.php [L]

リダイレクトの処理方法に応じて、にリダイレクトするルールを微調整できますhttp://example.com/。301の永続的なリダイレクトが必要な場合は、:を追加し301ます。

RewriteRule ^(.*)$ http://example.com/ [L,R=301]

リダイレクトで相対URIを保持する場合は、後方参照を使用します。

RewriteRule ^(.*)$ http://example.com/$1 [L,R]

URI全体(/podcast/wp/一部を含む)を保持する場合は、次のURIを使用します。

RewriteRule ^(.*)$ http://example.com%{REQUEST_URI} [L,R]
于 2013-01-12T19:31:13.057 に答える