301除非存在特定文件

时间:2012-09-20 19:36:25

标签: .htaccess

我一直在四处寻找,但无法找到一个确切的解决方案。

我有一个我想要重定向的网站,除非他们在任何现有网址中输入。

例如(无论有没有www都应该这样做):

www.site.com -> redirect to sub.site.com
www.site.com/nonexistant.php -> does not so redirect to sub.site.com
www.site.com/index1.php -> exists so show it

任何帮助表示赞赏! 谢谢,克里斯

2 个答案:

答案 0 :(得分:1)

如果我理解你正在努力做的事情,那就应该这样做;

# Turn rewrites on
RewriteEngine On

# First rewrite the site root to the new site.    
RewriteRule ^$ http://sub.site.com [L,R=301]

# ...else if the request doesn't match a directory...
RewriteCond %{REQUEST_FILENAME} !-d

# ...and it doesn't match a file...
RewriteCond %{REQUEST_FILENAME} !-f

# ...then redirect to http://sub.site.com/
RewriteRule ^.*$ http://sub.site.com [L,R=301]

答案 1 :(得分:0)

创建一个用户定义的404页面并将其放入其中:

<?php

header("Location: http://sub.site.com");

?>