要使用Apache的mod_rewrite模块进行简单的GET变量重写,您可以按照以下步骤进行操作:
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=(\d+)$
RewriteRule ^page.php$ new-page/%1? [R=301,L]
这段代码将把URL中的page.php?id=123
重写为new-page/123
。您可以根据需要修改RewriteRule中的目标URL。
解释:
RewriteEngine On
- 启用mod_rewrite引擎。RewriteCond %{QUERY_STRING} ^id=(\d+)$
- 检查URL的查询字符串是否以id=
开头,后面跟着一个或多个数字。这是一个条件语句,只有满足条件时才会执行下面的RewriteRule。RewriteRule ^page.php$ new-page/%1? [R=301,L]
- 将URL从page.php?id=xxx
重写为new-page/xxx
。%1
表示匹配到的数字部分,?
表示不传递查询字符串,[R=301,L]
表示执行永久重定向并停止后续规则。现在,当访问page.php?id=123
时,您将被重定向到new-page/123
。
请注意,此方法仅适用于Apache服务器,并且需要启用mod_rewrite模块。如果您使用的是其他服务器或Web框架,可能有不同的方法来实现类似的重写功能。