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

更新:我在本地服务器上对此进行了测试,请注意:该文件夹是 test 您可以根据自己的情况进行调整

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 回答