0

次のルールを使用して、関連する.phpファイルを提供しています

最後のディレクトリ パス名はすべて関連する .php ファイルに移動します

Ex. /about/ or /about will go /about.php


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php`

したがって、http://example.com/abc を使用する、/abc.php を指します。これは正常に機能しています。しかし、/abc.php ファイルがそのディレクトリに存在しない場合は、それを /listing.php ファイルに転送します。どうやってやるの?助けてください

また、これをルート ディレクトリのみに適用する必要があります。http://example.com/..*こちら*を意味し ます。. サブディレクトリ用ではありません。

ありがとう

4

1 に答える 1

0

これを試してください、これはテストする必要があります:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $0\.php !-f //check if (for example) abc.php not exists then
RewriteRule ^(.*)$ /listing.php
RewriteRule ^(.*)$ $1.php

更新: ローカル サーバーでこれをテストしました。次の点に注意してください: フォルダーはテストであり、独自に調整できます。

Options All -Indexes
RewriteEngine on
RewriteBase /test
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond test\/$0\.php !-f
RewriteRule ^(.*)$ listening.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
于 2013-07-13T19:36:58.853 に答える