要使用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框架,可能有不同的方法来实现类似的重写功能。