0
我有一个站点设置完成了一个索引等。我想只重定向到www.example.com
直接到www.example.com/foo.php
的流量。但是,如果用户试图直接访问www.example.com/index.php
或任何其他现有页面,则该请求应如常返回适当的页面。我似乎无法绕过这些重写规则。我将如何使用.htaccess完成此操作?使用.htaccess将流量重定向到根目录到特定页面
我有一个站点设置完成了一个索引等。我想只重定向到www.example.com
直接到www.example.com/foo.php
的流量。但是,如果用户试图直接访问www.example.com/index.php
或任何其他现有页面,则该请求应如常返回适当的页面。我似乎无法绕过这些重写规则。我将如何使用.htaccess完成此操作?使用.htaccess将流量重定向到根目录到特定页面
你可以很可能逃脱只是改变了DirectoryIndex
到/foo.php
:
DirectoryIndex foo.php
但是,如果你想使用mod_rewrite
实际重写URL,有几个不同的方式来做到这一点,但clearist是只检查所请求的资源是一个空字符串(被请求的根,并在.htaccess
文件输入到RewriteRule
不包含前导斜杠):
RewriteEngine On
RewriteRule ^$ /foo.php
任何对/
不是/
的服务器请求都将被忽略并由Apache正常路由。
完美无瑕的工作和如此快速的回应。关于如何着手学习这些重写规则的建议? – 2010-09-17 01:53:51
@Oren:太棒了。在阅读文档之外,许多“典型”案例已经在这里提出并回答,所以从我想象的答案中可以学到一点点。如果你有一个本地测试服务器,使用带有高RewriteLogLevel的['RewriteLog'](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritelog)可以帮助你感受内部发生了什么。大多数只是正则表达式,诡计和尝试错误,但是,所以它需要一些习惯。 – 2010-09-17 02:01:49