2016-11-08 25 views
1

私のメインファイルがindex.phphtdocsフォルダに私のプロジェクトがあります。私は運なしで次の行を含む.htaccessファイルを使用して、ファイルをブラウザで開くと.php拡張子を削除するには、複数の時間を試してみました:htdocsのファイルから.php拡張子を削除する

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

拡張子が残っています。私のブラウザでリンクが

file:///C:/wamp64/bin/apache/apache2.4.23/htdocs/Cipcpr/index.php 

なく

localhost/... 

答えて

3

あなたが使用することができます。

Options -MultiViews 
RewriteEngine on 

# remove php 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R=301,L] 

# rewrite with php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f 
RewriteRule ^(.+)/?$ $1.php [L] 
1

あるので、それはあなたのプロジェクトが動的に拡張を削除する必要がない場合は、ファイルごとにRewriteRulesを手動で設定することができますです。ここにあなたのindex.php

RewriteEngine On 
RewriteRule ^index/?$ index.php [NC,L] 

あなたは今/インデックスを入力すると、それはファイルを/index.phpするために参照するためのコードです。

最後にRewriteRuleをコピーしてインデックスを書き直すだけで、他のファイル(login.phpと言う)を追加することができます。

RewriteRule ^login/?$ login.php [NC,L] 
1

ただ、次の内容のサイトのルートフォルダ(例えば、/home/domains/domain.com/htdocs/)に.htaccessファイルを追加します。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 
関連する問題