2011-01-30 7 views
3
Options +FollowSymlinks 

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f # not a file 
RewriteCond %{REQUEST_FILENAME} !-d # not a directory 
RewriteRule ^(.+)$ index.php?params=$1 [L] 

あなたが見ることができるように、私はRewriteEngineはURLをローカルに書き換えませんか?

mysite.com/x/y/z

にmysite.com/のようなものを変換しようとしていますindex.php?params = x/y/z

ただし、動作していません。私はmysite.com/homeを試してindex.phpの最初の行にブレークポイントを設定しましたが、404を取得しました。

なぜ私にとってはうまくいかないのですか?何でもありがとう!

答えて

1

どちらかmod_rewriteがインストール、または有効化、またはあなたがNoneに、特定のディレクトリのAllowOverride -directiveが設定されていることをされていないこと、らしいです。それを(少なくとも)FileInfo

+0

)それは弱い人に行く!多くのありがとう! – Garrett

5

まず、mod_rewriteがApacheサーバーで有効になっていることを確認します。

次に行の末尾にコメントを削除します。

# not a file 
RewriteCond %{REQUEST_FILENAME} !-f 
# not a directory 
RewriteCond %{REQUEST_FILENAME} !-d 

From the Apache documentation

ハッシュ 文字 "#" で始まる行は、コメントとみなさ 、無視されています。 設定ディレクティブの後の行には、 のコメントが含まれていない可能性があります。

+0

驚くべきことにまだ変わらない=( – Garrett