2017-12-22 22 views
2

だから私はこのサイトを持っている、それはこのようなディレクトリ構造を有する:拡張子.phpモッズ書き換えずにいくつかのページ

  1. のindex.php
  2. page1.php
  3. page3.php
  4. フォルダを/index.php
  5. 例/ index.phpを
  6. page4.php

.phpファイル拡張子は、サブディレクトリにないURLからのみ削除します。

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

このURLによって、以前にアクセスしたどのようにサブディレクトリのファイル::私がindex.phpのか、ファイル名を入力しない限り、https://example.com/folderは今、404を与える、私はそうのようなすべてのURLから.PHPを削除した場合ので、それの終わり。

だから私は、次のことを知りたい:

  • フォルダ/サブディレクトリ内のファイルが影響を受けないように、どのように私は唯一選ばれた少数の対象のファイルからの.php削除できますか?
  • 上記の.htaccessコードを変更して、フォルダ/サブディレクトリにあるファイルをターゲットにしないようにするにはどうすればよいですか?

答えて

0

あなたが使用して、サイトのルートにあるファイルのみに.php拡張子を追加したい場合は:それはある1つの以上の文字にマッチするよう

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^([^/.]+)/?$ $1.php [L] 

ここで否定文字クラス[^/.]+は、現在のディレクトリ内のファイルのみにマッチしますない/.

ただし、あなたが正しく、すべてのファイルに.phpを追加したい場合は、このルールを使用します。

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L]