1

サブドメインの下にある私のワードプレスブログ内に配置されている.htaccess内に以下のコードがあります。ブログをサブフォルダーに移動し、サブドメインから 301 リダイレクトを配置しましたが、blog.domain.com のページにアクセスすると、 http: //domain.com/blog/ への 301 リダイレクトではなく 500 内部サーバー エラーが発生します。

# Use PHP5 as default
AddHandler application/x-httpd-php5 .php


RewriteCond %{HTTP_HOST} ^blog\.stream-tek\.com
RewriteRule ^(.*)$ http://www.stream-tek.com/blog/$1 [R=301]


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

# END WordPress

今、次の間のコードを削除すると:

# BEGIN WordPress
# END WordPress

サブドメイン ページから 301 リダイレクトを受け取りましたが、それを戻すと機能しません。wordpressのクリーンなURLはそれなしでは機能しないため、コードのその部分が必要です。

私はその専門家ではないので、上記のhtaccessファイルの問題は何ですか。

手伝ってくれてありがとう。

4

1 に答える 1

1

問題は、リダイレクトが開始される前であっても、WP が完全に制御できることです。

ルールの順序を変更します。

# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
RewriteEngine On
RewriteBase /blog/
<IfModule mod_rewrite.c>

RewriteCond %{HTTP_HOST} ^blog\.stream-tek\.com$ [NC]
RewriteRule ^ http://www.stream-tek.com/blog%{REQUEST_URI} [R=301,L]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]

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

</IfModule>
# END WordPress
于 2013-09-06T10:49:07.270 に答える