2012-12-20 103 views
1

我想设置我的URL重写,检查是否有一定的样板,如果它不存在,使用默认的一个htaccess的重写规则条件需要

所以,如果我有一个网址: http://www.mysite.co.uk/feed/

我想它检查是否存在feed.php和使用,如果这样做,但如果它不使用page.php文件页面=饲料代替

这是我目前有:

Options +FollowSymlinks 
RewriteEngine On 

RewriteRule ^([^/.]+)/$ $1.php 
RewriteRule ^([^/.]+)/$ page.php?page=$1 [L] 


ErrorDocument 404 /404.php 

它工作正常,如果feed.php存在,但当它不是它默认直接到我的自定义404.php并绕过第二个重写规则

我知道我需要某种RewriteCondition,但我不知道足够关于它,并找不到一个相关的例子

任何帮助将不胜感激! = d

回答

1

试试这个:

RewriteEngine on 
RewriteCond %{REQUEST_URI} /(.*)/ 
RewriteCond /%1.php !-f 
RewriteRule .* /page.php?page=%1 
+0

欢迎:) – Oussama

0

您需要添加检查,以查看该文件不存在

# serve file if exists 
RewriteCond ^([^/.]+).php !-f 
RewriteRule ^([^/.]+)/$ page.php?page=$1 [L] 

这应该是第一条规则刚过RewriteEngine On

+0

感谢你的帮助汤姆:) –

+0

非常欢迎 – Tom