0

誰かが私たちの WP サイトに微調整を加え、「www.」を削除したため、最後の 1 秒で引っ張られました。(またはそう言われました)URLから。このページには、wxyz.com と入力することによってのみアクセスできます (例)。それで、私はそれが .htaccess 書き込みであると推測し、そのプロジェクトに参加している友人にそれについて話しました。彼は試してみることに同意しましたが、時間の制約のために私に引き渡しました。

それで私はそれを見ました-約3時間。驚くほど単純な小さな問題で、明らかに何かが欠けています。

他の開発者は、彼がしたことは追加することだけだと言いました:

RewriteCond %{HTTP_HOST} !^kokonut\.com$ [NC]
RewriteRule (.*) http://kokonut.com/$1 [R=301,L]

しかし、まず第一に、私のコードや彼の微調整は何も変更しません。サイトは機能しません。

第二に、WP には URL を変更するためのフロント エンド システムがあるため、これが失敗した後、「まあ、そこに行って前に「www」と言うだけでいいと思いました。それはすべてを壊し、管理パネルはもう機能しません。 !

だから私は wp-config.php に行き、明示的に言う必要がありました:

define('WP_HOME','http://wxyz.com'); 
define('WP_SITEURL','http://wxyz.com');

しかし、これは私たちが始めたところに戻ったところです!さらに、そのコードがないと、サイトがまったく機能しないことがあります。

現在の.htaccessファイルは書かれているとおりです(これは彼の元のものとは異なります。明らかにWPが上書きしましたが、元の状態に復元しても何も起こらないか、私にはそう見えます。正直なところ、この時点で私は実行している可能性があります私自身がサークルに入っています。):

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

# END WordPress

私が最初に「修正」を割り当てられたときの様子:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} !^wxyz\.com$ [NC]
RewriteRule (.*) http://wxyz.com/$1 [R=301,L]
</IfModule>

# END WordPress

それで、私はここで何が欠けていますか?明らかに、彼はそれを www から変更できます --> 問題なく何もありません。

このサイト、このサーバー、またはこのグループで働いたことはありません。ということで、これは初めてです。私は .htaccess に手を出しましたが、私は「専門家」ではありません。

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

4

1 に答える 1

0

これが問題の原因かどうかはわかりませんが、大きな問題の 1 つは、wordpress にルーティング ルール ( RewriteRule . /index.php [L]) があり、次にリダイレクト ルールがあることです。これは、ルーティングRewriteRule (.*) http://wxyz.com/$1 [R=301,L]にリダイレクトしていることを除けば問題ありません。サーバーが物事を内部的にルーティングする前に、外部リダイレクトが発生する必要があります。さらに、wordpress はコメントの間にあるルールを上書きします。したがって、追加したルールを wordpress に上書きさせたくない場合は、そのブロックの外にルールを含める必要があります。# BEGIN/END WordPress

<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} !^wxyz\.com$ [NC]
RewriteRule (.*) http://wxyz.com/$1 [R=301,L]
</IfModule>

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

# END WordPress
于 2013-10-18T02:46:58.947 に答える