2011-08-07 10 views
2

私はきれいなPHP URLを作成するために.htaccessを設定しようとしています。私の目標は、フォルダCL内のクリーンなURLを達成することです。.htaccessと内部サーバーエラー

.htaccessファイル:yはフォルダCLを入力するとき

# Use PHP5 Single php.ini as default 
AddHandler application/x-httpd-php5s .php 

<IfModule mod_rewrite.c> 
    # This is the initialization 
    # For security reasons, Option followsymlinks cannot be overridden. 
    #Options +FollowSymLinks 
    Options +SymLinksIfOwnerMatch 
    RewriteEngine On 
    RewriteBase/

    # /CL/var1/var2/var3 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2&var3=$3 [L,QSA] 

    # /CL/var1/var2 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2 [L,QSA] 

    # /CL/var1 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^CL/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1 [L,QSA] 
</IfModule> 

はしかし、何らかの理由で、私は500内部サーバーエラーが発生します。私は過去に同様の.htaccess設定を使用しましたが、現在は何らかの理由で動作していません。

アイデア?

+0

Apacheのエラーログを確認してください。詳細なエラーメッセージが表示されますが、これだけで問題を解決できる場合もあります。あなたの.htaccessの概要は間違っていません。 – LazyOne

+0

私のサーバーのエラーログに約2時間アクセスしようとしています。運がまったくありません。 –

+0

アクセスログと同じフォルダに存在する必要があります。そうでない場合は、ホスティング会社に話してください。 – LazyOne

答えて

0

"私はこれまで同様の.htaccess設定を使用していましたが、現在は何らかの理由で動作していません。"

OK、ルールセットが機能します。私はちょうど1つのテストVMでテストしたので、まだ動作しているので、問題はこの.htaccessファイルのmod_rewrite機能ではありません。それでどこになるの? 横向きに考えてください。 500ステータスは通常、mod_rewriteループです。/CLに.htaccessファイルがありますか?これは、perdirの無期限のループを作成する可能性があります。

残念ながら、$ 100 pa共有サービスの共有ホスティングプロバイダからerror_logコンテンツの回答を得ようとしているDSの提案は、いいえではありません。 Morale:PC上にテストVMをセットアップして、ログにrootアクセスできるようにしてください。here