mod_rewriteとmod_aliasを一緒に動作させるにはどうすればよいですか?
-
30-09-2019 - |
質問
共有ホスティングアカウントを模倣するためにWindows/Apache/PHP環境が設定されていますが、取得できません mod_alias
と mod_rewrite
お互いにうまく遊ぶこと。どちらも、サーバーレベルで、および一人当たりのベースで間違いなく有効になります。
私は持っています d:\web\public_html\
DocumentRootとして設定します。しかし、一般的に言えば、それは空になります。
私は持っています d:\web\sites\
私は自分のサイトを保管し、使用することを指し示すところです Alias
そして、それはその下に次のディレクトリ構造を持っています:
d:\web\sites\alfa d:\web\sites\alfa\public_html d:\web\sites\bravo d:\web\sites\bravo\public_html
次のようにエイリアスが設定されています:(そして間違いなく機能します!)
Alias /alfa d:/web/sites/alfa/public_html<Directory "D:\web\sites\alfa\public_html">
Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all</Directory>
public_html
フォルダーは私の一つのサイトです .htaccess
ファイルは保存され、間違いなく持っています mod_rewrite
有効になっていますが、正しく動作しません。
これまでのところ、私は何に夢中になっています RewriteBase
あるべきです。私はもう試した /
, /alfa
, /alfa/
と alfa/
. 。私も試しました d:\web\sites\alfa\public_html
, d:/web/sites/alfa/public_html
, d:\web\sites\alfa
と d:/web/sites/alfa
無駄に!
これも可能ですか?もしそうなら、私は何が間違っているのですか?
私は明らかに私を維持したいです Alias
一元化された指令と RewriteRule
sサイトごと .htaccess
ファイル。
解決
あなたはを使用しています
AllowOverride None
指令、したがって、無効化 .htaccess
エイリアスディレクトリ内のファイル。それを削除すると、動作するはずです。
/
のために働くべきです RewriteBase
.