2

顧客の Web サイトに問題があります。彼のために新しい Wordpress サイトを作成しましたが、htaccess のリダイレクトに問題があります。

サーバーに Wordpress をインストールする前は、2 つの静的な基本的な HTML サイトがありました。メイン ドメインを使用する public_html ルートにある 1 つと、サブドメインをそのフォルダーに誘導する htaccess 書き換えルールを持つサブフォルダーにある完全に異なるサブサイト。

現在、リダイレクトを台無しにしているWordpressがあります。もちろん、Wordpress は元の htaccess ファイルに変更を加えました。それに加えて、顧客はホスティング プロバイダー内のサーバーを変更して新しい php バージョンを取得する必要があったため、htaccess ファイルを最初から作成する必要がありました。

現在の htaccess-file は次のとおりです。

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

# END WordPress

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomainfolder/
RewriteRule ^(.*)$ subdomainfolder/$1 [L]

wwwというフォルダにWordpressをインストールしてURLを書き換えているところ、綺麗に動作しています。しかし、サブドメインに問題があります。上記のコードでは、サブドメインの URL を subdomainurl.com に置き換えました。サイトは public_html/subdomainfolder/ にあります。

ここで、www.subdomainurl.com と入力すると、リダイレクトが機能し、サイトが表示されます。しかし、入力された www.subdomainurl.index.html はそうではありません。www.subdomainurl.com/subdomainfolder/index.html と記述する必要があるため、サブドメイン フォルダーも追加して、リダイレクトを正しく記述していないことは明らかです。その htaccess と交流しようとしましたが、うまくいきません。何かを変更しようとするたびに、メイン ドメインの Wordpress サイトで 404 が表示されます。

現時点では、これらの作業: www.maindomain.com/subdomainfolder/index.html www.subdomainurl.com/subdomainfolder/index.html

そして、これは私がやろうとしていることではありません: www.subdomainurl.com/index.html

私はリダイレクトの専門家ではありません。

編集/アドオン:

これは、サブドメインをサブフォルダーにリダイレクトし、URL を書き直した古いサーバーからの古いコードです。もう機能しないため、破棄しました。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomainfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdomainfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteRule ^(/)?$ subdomainfolder/index.html [L]
4

2 に答える 2

0

現在、私はこのコードを使用しています

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

END WordPress

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteCond %{REQUEST_URI} !subdomainfolder
RewriteRule ^(.*)$ subdomainfolder$1

これにより、セカンダリ ドメイン全体 (subdomainurl.com) が www.subdomainurl.com/subdomainfolder として読み込まれ、そのように機能します (www.subdomainurl.com/subdomainfolder/index.html、www.subdomainurl.com/subdomainfolder/work.html など)。 )、それでも顧客が本当に望んでいたものではありません。htaccess で URL から subdomainfolder-part を削除する必要がありますが、これまでのところ成功していません。コードの最後の行で正しく理解できていないと思います。

于 2012-10-19T08:57:21.197 に答える
0

htaccess ファイルに、サブドメインとメイン ドメインのエントリがありません。

于 2012-10-17T16:49:14.140 に答える