2017-03-07 6 views
0

私はlocalhostにPHPプロジェクトを持っていますが、これはXAMPPスタックを実行しています。.htaccessがxampで動作しない

すべてのユーザー対応URLから.php拡張子を削除します。私が使用して試した

Apacheのmod_rewrite.htaccessファイル内:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteRule ^locations(/.*)?$ poet.php [L,NC] 
</IfModule> 

しかし、それは "動作しない" です。

+1

[.htaccessで.php拡張子を削除する](@stackoverflow.com/questions/4026021/remove-php-extension-with-htaccess) –

+0

@Abhishek私はGoogleを使ってこの投稿を見ましたが、このステップはそう最終的に働いていない私は するRewriteRule ^(。+)\。PHP $/$ 1 [R、L] するRewriteCondの%{REQUEST_FILENAME} .phpの-f のRewriteRule ^(上の質問 –

+0

RewriteEngineを依頼することにしました。* ?)/?$ /$1.php [NC、END] –

答えて

0

RewriteEngine On 
RewriteBase/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*?)/?$ $1.php [NC,L] 

を試してみてください。このコードのソリューションをお試しください注:書き換えを忘れないでください。プロジェクトフォルダがルートにない場合の基本パス。

+0

プロジェクトフォルダがルートにない場合は、RewriteBaseパスを変更するのを忘れていません。私はこれを理解できません。その最初のhtaccess –

+0

あなたのプロジェクトがhtdocsフォルダのルートにある場合は、上記のコードをそのまま使用しますが、プロジェクトがhtdocsのルートにない場合は、プロジェクトフォルダのパスを指定してください。あなたのプロジェクトがhtdocs/projects/demoproject1内にあるとしたら、RewriteBaseのパスは次のようになります。RewriteBase/projects/demoproject1/ –

+0

ありがとう。このルールを使用して404を設定するには –

0

あなたの問題

 <IfModule mod_rewrite.c> 
      RewriteEngine On 
      RewriteCond %{REQUEST_FILENAME}.php -f 
      RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L] 
    </IfModule> 
+0

は動作しません。 –

+0

また、私のhttp.confのAllowOverride Allを有効にする –

+0

@VivekMishra edit codeもう一度 –

0
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L] 
0

は、プロジェクトディレクトリにルールの下

あなたの.htaccessファイルにこのコードを入れ
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [L] 
関連する問題