我怎样才能回到显示/index.php的内容?

时间:2011-07-29 20:52:28

标签: .htaccess mod-rewrite

以下是我的.htaccess文件的一部分:

htaccess的:

RewriteRule ^([a-z0-9A-Z_-]+)$ /article/index.php?title=$1 [L]

但问题是当title为空时,它不会显示http://www.domain.com/index.php的内容。我甚至无法在不抛出错误的情况下链接到http://www.domain.com/

PHP:http://www.domain.com/article/index.php

<?php

if(!empty($_GET['title']))
{
    $a = mysql_query("SELECT * FROM `articles` WHERE `title` = '".mysql_real_escape_string($_GET['title'])."'");
}
else
{
    $a = mysql_query("SELECT * FROM `articles` WHERE `id` = '".mysql_real_escape_string($_GET['id'])."'");
}

$b = mysql_fetch_assoc($a) or mysql_error();

?>

1 个答案:

答案 0 :(得分:0)

你几乎有两个选择:

1。使用此规则:如果命中主页,则title参数将为空(因此您必须以某种方式处理此时刻 - 相应地调整您的PHP代码。)

RewriteRule ^([a-z0-9A-Z_-]*)$ /article/index.php?title=$1 [QSA,L]

2。使用针对主页/网站root hit的特定规则(在之前添加 >当前规则):

RewriteRule ^$ /article/index.php?title=home [QSA,L]

title=home表示它对网站root有效(您可以将home更改为您想要的任何内容。)