使用.htaccess重写URL而不传递参数

时间:2012-04-07 06:34:01

标签: php .htaccess mod-rewrite url-rewriting

我正在使用php。我想将每个请求重定向到index.php文件并在那里访问参数,例如,mysite.com/a应该重定向到mysite.com/index.php?id=a,以便我可以使用我的代码访问我的代码中的参数$ _GET [“id”],为此,我使用以下代码创建了一个.htaccess文件。

Options +FollowSymlinks
RewriteEngine on
RewriteRule [a-z] index.php?id=$1 [NC]

注意:这里我正在考虑每个小写字母的请求。

我试图在我的index.php文件中访问id,如下所示:

<?php
echo "sample redirection: <br/>";
echo $_GET["id"];
?>

这是重定向但不传递参数。所以我的输出是这样的:

sample redirection:

它不打印参数。帮助

1 个答案:

答案 0 :(得分:1)

[a-z]后需要一个美元符号。

RewriteRule ([a-z])$ index.php?id=$1 [NC]

请注意,[a-z]只会匹配一个字母。要匹配任何字母串,请使用:

 RewriteRule ([a-z]*)$ index.php?id=$1 [NC]