我正在尝试设置我的网址重写以检查某个模板,如果它不存在则使用默认模式
所以,如果我有一个URL: http://www.mysite.co.uk/feed/
我希望它检查feed.php是否存在并使用它,如果它存在,但是如果它不使用page.php?page = feed而不是
这就是我目前所拥有的:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([^/.]+)/$ $1.php
RewriteRule ^([^/.]+)/$ page.php?page=$1 [L]
ErrorDocument 404 /404.php
如果feed.php存在,它可以正常工作,但是当它不存在时,它会直接默认为我的自定义404.php并绕过第二个重写规则
我知道我需要某种RewriteCondition,但我对此并不了解,也无法找到相关的例子
任何帮助将不胜感激! = D
答案 0 :(得分:1)
试试这个:
RewriteEngine on
RewriteCond %{REQUEST_URI} /(.*)/
RewriteCond /%1.php !-f
RewriteRule .* /page.php?page=%1
答案 1 :(得分:0)
您需要添加检查以查看文件是否不存在
# serve file if exists
RewriteCond ^([^/.]+).php !-f
RewriteRule ^([^/.]+)/$ page.php?page=$1 [L]
这应该是RewriteEngine On