1

最近、現在実行中のブログ マルチサイト (Wordpress ブログは "mysite.com/home/" ディレクトリの下にあります) の .htaccess で、非 WWW から WWW への 301 リダイレクトを追加しました。これら 3 つのファイルのすべての変更後、それらは正常に動作するようです。下:

.HTACCESS

# Redirect Non-WWW to WWW
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite\.com\home
RewriteRule ^(.*)$ http://www.mysite.com/home/$1 [R=301,L]
# END Redirect Non-WWW to WWW

RewriteEngine On
RewriteBase /home/
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

WP-CONFIG.PHP

から変更する

define('DOMAIN_CURRENT_SITE', 'mysite.com');

への変更

define('DOMAIN_CURRENT_SITE', 'www.mysite.com');

FUNCTIONS.PHP (メインテーマの)

から変更する

update_option('siteurl','http://mysite.com/home');
update_option('home','http://mysite.com/home');
global $oswcPostTypes;

への変更

update_option('siteurl','http://www.mysite.com/home');
update_option('home','http://www.mysite.com/home');
global $oswcPostTypes;

通常どおり自分のサイトを表示し、各サイト ダッシュボードにログインできますが、[ネットワーク] タブを使用できません: [マイ サイト] > [ネットワーク管理者] > [ダッシュボード、サイト、ユーザー]。プラグインを使用せずにマルチサイトでネットワーク タブを使用したり、データベース内のすべてのデータを変更したりできるようにするために、他に変更が必要な場所はありますか?

4

2 に答える 2

3

リダイレクトの状態が悪いようです:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite\.com\home
RewriteRule ^(.*)$ http://www.mysite.com/home/$1 [R=301,L]

これ%{HTTP_HOST}は「Host:」ヘッダーリクエストの内容であり、ホスト名(場合によってはポート)のみが含まれているため、そこにURIパスを含めることはできません。次のように変更してみてください。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite\.com
RewriteRule ^/?home/(.*)$ http://www.mysite.com/home/$1 [R=301,L]
于 2012-08-07T18:35:40.350 に答える