1

GoDaddy 共有ホスティング アカウントをセットアップして、スクリプトをサーバー ルートから直接実行しないようにしました。スクリプトは、少なくとも 1 つのサブディレクトリから開始します。サーバーがサブドメインを選択したフォルダーに単に書き換えているように見えるため、このカテゴリに分類されるサブドメインもあります。

/根
  ワードプレス
  ドルパル
  アプリ1
  サブドメイン
     サブ1
     サブ2
     サブ3

私は、www.mydomain.com でワードプレスを起動することにしました。そのため、SO についてかなりの調査を行い、いくつかのソリューションをテストした後、これが機能した htaccess です。他のソリューションでは、500 サーバーの内部エラーが発生していました。これは、ホスティング プランの制限であると思われます。

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^www.mydomain.com$ [NC,OR]
  RewriteCond %{REQUEST_URI} !wordpress/
  RewriteRule ^(.*)$ wordpress/$1 [L]
</IfModule>

しかし、サブドメインが機能しなくなり、サーバー エラー メッセージから、The requested URL /wordpress/subdomains/sub1/ was not found on this server.私の書き換えルールがサブドメインに対して有効になっていることが明らかです。

RewriteCond %{REQUEST_URI} !subdomainsRewriteRule の前に追加しようとしましたが、役に立ちませんでした。また、RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-dすべての書き換えが機能しなくなります。

特定のディレクトリ/パターンがリダイレクトされないようにルールを変更するにはどうすればよいですか? または、ディレクトリが存在する場合、書き換えるべきではないのでしょうか?

4

2 に答える 2

1

Rewrite ルールを次のように置き換えます。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ wordpress/$1 [L]

これによりwordpress/、どのファイルまたはディレクトリに対してもリダイレクトが行われないことが保証されます。

于 2013-04-08T17:37:19.110 に答える
1

WordPress のルールのにこれを追加してみてください。

RewriteRule ^subdomains - [L]

書き換えを行わずに、 で始まるリクエストを単純に/subdomains通過させる必要があります。

于 2013-04-08T17:25:07.830 に答える