2012-01-28 11 views
0

.htaccessの使用に問題があります。 これは私が右の.htaccessファイルをクリックして、それを変更する前に、私は、テキストファイルを開いたこれらの行を貼り付けると、それは、.htaccessファイルを見せていた。htaccessファイル としてそれを保存し、私の.htaccessファイルの内容.htaccessを.php拡張子を隠すのに問題がある

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}!-d 
RewriteCond %{REQUEST_FILENAME}!-f 
RewriteRule ^([^.]+)\.php$ $1 [L] 

です"メモ帳で開く"。違いはありませんが、現在は空白の名前を表示しているはずです。

主な問題は、ブラウザでlocalhostを開き、.htaccessファイルを保存していたフォルダが表示されないか、またはアクセスするとこの内部サーバーのエラーが表示される場合です。そこから.htaccessファイルを削除すると、それはlocalhostディレクトリに表示され、それを開こうとするとエラーは表示されません。

+1

mod_rewriteが有効になっているかどうかを確認してください。 – Gerben

+0

さて、mod_rewriteを有効にしてhtaccessを含むフォルダの表示を開始しましたが、まだ.php拡張子が表示されます – Prateek

+0

@Prateekエンドユーザには何を見せたいですか?通常、あなたのユーザは 'example.com/somepage'を入力し、それは' somepage.php'に目に見えない形で翻訳されます。あなたのサイトのリンクは.php拡張子を含まないように変更する必要があり、ユーザーには表示されません。 –

答えて

1

500内部サーバーエラーが発生している場合は、.htaccessファイルが読み取られています。私が見たものから、あなたは!の前にスペースが不足していることがあります。

RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    #-----------------------------^^ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    #-----------------------------^^ 
    RewriteRule ^([^.]+)\.php$ $1 [L] 

しかし、あなたはあなたのユーザーが拡張子.phpを見ていない場合は、RewriteRuleは後方です。最初の部分に.phpを含めるべきではありません:

RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f  
    # The input URL has no PHP, but internally is served as .php 
    RewriteRule ^([^.]+)$ $1.php [L] 
+0

まだhtaccessファイルが置かれているフォルダが表示されず、はい、500の内部サーバーエラーが表示されます。 !の前のスペースを削除しました。 didnt仕事。 – Prateek

関連する問題