2016-04-07 4 views
0

私はUbuntu 14.04でLAMPサーバーを実行していて、すべてがうまく設定されているようです。持っている唯一の問題は、書き換えルールが何らかのエラーを出すことなく何とか無視されてしまうことです。 .htaccessファイルを変更した後、通常通りページが再び読み込まれます。私がやろうとしています何を、すべてのトラフィックは、次のコードを使用して、index.phpにルートにある:他の機能が正常に動作している間、Apacheの書き換えルールが無視されています

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

他のルールは例えば、適切に機能しています。 deny from allを追加してページをリロードすると、すぐにエラーが発生します。すべてのファイルとフォルダは、/ var/www/rootディレクトリにあります。私がここで行方不明ですかわからない、私は解決策なしでこの問題をデバッグ時間を過ごした:(。

おかげ

答えて

0

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .* index.php [L] 
私はindex.phpにドキュメントルートを指していることにより、index.phpにすべてのトラフィックをリダイレクトするために解決策を見つけた:

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName example.com 
ServerAlias www.example.com 
DocumentRoot /var/www/example.com/index.php 
</VirtualHost> 

おかげ@Chr助けを求めることです。

0

.は、単一の文字にマッチします。何かを一致させるために.*を使用してみてください。

+0

@Angie削除されたコメントに関しては、 'RewriteRule'は部分文字列と一致せず、完全な文字列のみと一致します。それは暗黙の '^'と '$'を効果的に持ちます。これはあなたを助けましたか?もしあなたが私の答えを受け入れる気があれば? – Chris

+0

こんにちはクリス、それは動作しません。ページはいつものように爽やかです!!本当に奇妙です。 – Angie

+0

@Angie Apacheのconfigの ''ブロックにある 'AllowOverride'ディレクティブが' apache2ctl -M'を実行して、 'mod_rewrite'が有効になっていることを確認できますか? 'FileInfo'または' All'のいずれかを含む必要があります。私はあなたが解決策を見つけてうれしい全て付与 ' – Chris