如果存在此类文件,请使用mod_rewrite从文件夹重定向到index.asp文件

时间:2010-10-22 21:22:19

标签: .htaccess mod-rewrite redirect

我使用Rackspace的Cloud Sites作为webhost,对于同时使用PHP和ASP的网站,他们有一个有趣的设置。

在我们的设置中,PHP是默认技术,因此默认情况下站点运行Apache,直到它命中以.asp扩展名结尾的URL。这意味着这个网址:

www.site.com/folder/

不会自动加载:

www.site.com/folder/index.asp

.htaccess可以做同样的事情,比如这样吗?

RewriteCond %{REQUEST_FILENAME}index.asp -f

RewriteRule (.*/) $1index.asp [R=301,QSA]

在英语中,这意味着,“如果当前URI + index.asp是真实文件,则重定向到该文件。”以上不起作用;我做错了什么,或者只是不可能?

我知道这很奇怪,但正如我所说,Rackspace的设置需要它。

我正在研究的其他替代方法包括在index.asp文件的文件夹中手动创建index.php文件,这些文件将重定向到index.asp文件,但我希望尽可能避免这种情况。 :)

BTW,DirectoryIndex在这种情况下不起作用。

1 个答案:

答案 0 :(得分:0)

我继续在每个有index.asp的文件夹中添加了index.php文件。

文件包含以下代码:

<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: index.asp"); exit(); ?>

这对我们来说是一个可行的解决方案,因为我们没有很多index.asp文件。