11

.htaccessファイルを使用せずにmod_rewriteルールを構成したい。ルールを.htaccessファイルに入れると正常に機能しますが、すべての構成を/ etc / apache2 / sites-available/[サイト名]構成ファイルに残したいと思います。

VirtualHostまたはDirectoryディレクティブ内に同じRewriteRulesを配置すると、何も機能しません。私は何が間違っているのですか?これが私のVirtualHost設定ファイルからのサンプルです:

<Directory />
 Options FollowSymLinks
 # AllowOverride is on for the .htaccess files to work
 AllowOverride All
 RewriteEngine On
 RewriteRule ^oldsite\.php$ newsite.php
</Directory>

apache2.confファイル内のディレクティブを見落としているのではないかと思っていますが、よくわかりません。ヘルプ。:)

4

1 に答える 1

5

RewriteRule.htaccessファイル用のパターンを使用しています。理由:

.htaccessファイルで書き換えエンジンを使用する場合、ディレクトリごとのプレフィックス(特定のディレクトリでは常に同じ)がパターンマッチングのために自動的に削除され、置換が行われた後に自動的に追加されます。

したがって、完全なURLパスを使用してこのルールを試してください。

RewriteRule ^/oldsite\.php$ /newsite.php
于 2010-09-24T17:57:57.763 に答える