web-dev-qa-db-ja.com

apache2-書き換えルールからエイリアスを除外する方法は?

DebianのApache2(テストサーバー)にmod_rewriteとmod_aliasを設定しました。

/etc/Apache2/sites-available/defaultに次の書き換えコードがあります。

<Directory />
  Options FollowSymLinks
  AllowOverride All
  RewriteEngine on
  RewriteCond %{REQUEST_URI} !\.(php|html|css|js|gif|png|jpe?g)$
  RewriteRule (.*)$ /index.php [L]
</Directory>

Phpmyadminパッケージからデフォルトでセットアップされる次のエイリアスコードがあります(apt-get install phpmyadminを介してロードされ、/etc/Apache2/conf.d/phpmyadmin.confにあります)。

Alias /phpmyadmin /usr/share/phpmyadmin

ロードするたびに http://my.test.server/phpmyadmin 、エイリアスではなく http://my.test.server/index.php に移動します(バイパス/無視されますか?)。

エイリアスが通過できるように除外ルールを設定するにはどうすればよいですか(エイリアスが別のファイルに設定されている場合でも)。

5
James Nine

リダイレクトしたくない場合は、「/ phpmyadmin /」を含むURIを除外します。

RewriteCond   %{REQUEST_URI}  !/phpmyadmin/.*
4

または、エイリアスの宣言をディレクトリまたは場所の前に移動するだけです

Alias /phpMyAdmin /var/(...)

<Location />
    RewriteEngine on
    # (...)
</Location>

Waによって:「ディレクトリ」ではなく、URL(「/」)で場所を使用します。

3
Vivien