2012-03-26 16 views
0

をホスティングしている特定と間違って行く:の.htaccessは私の.htaccessにこのコードを持って

DirectoryIndex index.php --> 
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] 

それは私のローカルホスト(MAMP)に非常によく動作し、オンラインのMediaTempleようですが、WAMPなど、別のホストとホスティングを1and1それは動作しません!

どこでも使えるように調整するためのアイデアはありますか?

ありがとうございます!

+0

htaccessはどこかで動作しますが、他の場所では動作しませんが、 'RewriteBase'を追加するのに役立ちます。試してみる価値があります – danneth

答えて

0

RewriteBase /を追加し、index.phpから./を削除してください。 mod_rewriteが利用できない場合、404リダイレクトはそのトリックを行うはずですが、使用し終わると(自分でその方法を使用する必要はありませんでした)、どれくらいの堅牢性があるかわかりません。

DirectoryIndex index.php 

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
    ErrorDocument 404 /index.php 
</IfModule> 

また、あなたの最初のRewriteCondはルール2と3は、それを達成しようとしているものの世話をするというだけの理由で必要であることが表示されません。

関連する問題