如何重写其中包含GET变量的URL?

时间:2009-05-24 20:44:57

标签: apache .htaccess mod-rewrite

我有一个网站,它利用GET变量来确定要显示的内容。

@session_start();
@extract($_GET);
@extract($_POST);
.
.
.
if (!$menu) { include("home.php"); }
if ($menu=='buy') { include("buy.php"); }
if ($menu=='invalidbuy') { include("invalidbuy.php"); }
if ($menu=='buydone') { include("buydone.php"); }
.
.
.

我想我必须使用.htaccess文件将我的网址从“/index.php?menu=faq”重命名为“/ faq”。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用以下rule在内部将/ foobar 等路径的任何请求重写为/index.php?menu= {{ 1}}

foobar

附加RewriteCond directive可确保只重写现有文件(RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^[^/]+$ index.php?menu=$1 [L] )。