0

仮想ホストの apache ファイルと htaccess に問題があります。昨日2.6に更新されたApacheがあります。そこに 2 つの仮想ドメインをインストールし、デフォルト ドメインを無効にしました。すべてが正常に機能し、サイトは正常にロードされ、問題はありません。

最初の仮想ドメインには、書き換え条件が +50 の htaccess があり、すべて正常に動作します。2番目のドメインにいくつかの条件を追加しようとしましたが、ディレクトリを書き換える条件が機能しません。

これは条件です:

RewriteRule ^user/([a-zA-Z0-9_-]+)$ index.php?username=$1
RewriteRule ^user/([a-zA-Z0-9_-]+)/$ index.php?username=$1

そして、各ドメインの「サイトで利用可能な」Apache構成ファイル(関連するもののみ):

ドメイン 1:

ServerAdmin webmaster@localhost
    ServerName domain1.com
ServerAlias www.domain1.com
DocumentRoot /var/www/domain1.com/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride ALL
</Directory>
<Directory /var/www/domain1.com/public_html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride ALL
    Order allow,deny
    allow from all
</Directory>

ドメイン 2:

ServerAdmin webmaster@localhost
    ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/domain2.com/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride ALL
</Directory>
<Directory /var/www/domain2.com/public_html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride ALL
    Order allow,deny
    allow from all
</Directory>

ご覧のとおり、メイン フォルダーへのパス以外に違いはありません。何が悪いのかわかりません。最初のドメインが完璧に機能し、2 番目のドメインが機能しない理由。

いくつかのこと:

A: domain2 htaccess ファイルのその他の条件は問題なく動作します。たとえば、html を php にリダイレクトしたり、エラー ハンドラを単にリダイレクトしたり、単に test にリダイレクトしたりするだけです。

B: 最初のドメインの htaccess ファイルに同じ書き換え条件を貼り付けたところ、完璧に動作しました!

Apache の設定ファイルが正しく動作していないようです。

確認/変更する必要があるものはありますか?

助けていただければ幸いです。私の英語で申し訳ありません。

4

1 に答える 1

1

これを試してみてください:

Options +FollowSymLinks -MultiViews 

RewriteEngine On
RewriteBase /

RewriteRule ^user/([a-z0-9_-]+)/?$ /index.php?username=$1 [NC,L]

問題はMultiViews有効にしたことだと思います。上記のように、2 つのルールを 1 つに再開することもできます。

これは、ドメイン 2 の に入る必要が.htaccessあります。

補足として、2 つのディレクトリ ディレクティブは必要ありません。これを削除できます。

<Directory />
    Options FollowSymLinks
    AllowOverride ALL
</Directory>

そして、ちょうど保ちます:

<Directory "/var/www/domain2.com/public_html">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride ALL
    Order allow,deny
    allow from all
</Directory>
于 2013-09-17T02:14:35.553 に答える