htaccess重写动态网址

时间:2013-05-03 21:34:58

标签: .htaccess mod-rewrite dynamic

如何重写此网址

http://www.example.com/index.php?test=<some dynamic data>

http://www.example.com/<some dynamic data>

我试过了

RewriteEngine on
RewriteRule index.php?test=(\w+)?$ $1

虽然它不起作用。

如何做到这一点?例如,仍然可以使用重写的URL(或带有查询的任何内容)执行echo $_GET['test']吗?

1 个答案:

答案 0 :(得分:1)

如果浏览器中的传入网址是动态网址:

http://www.example.com/<some dynamic data>

并且您正在尝试将其重写为此代码:

http://www.example.com/index.php?test=<some dynamic data>

然后试试这个:

RewriteEngine on
RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^(.*)$ index.php?test=$1 [NC,L]

最后一行接受任何内容,并使用test参数将其发送到index.php。 RewriteCond确保它不会使用index.php本身,或者它将是一个无限循环。

如果您尝试采用其他方式,并让您的代码创建动态网址以便在您的网站上展示,那么您的网站代码中的其他位置,无论您在何处创建HTML。创建后,此规则会将它们重写为index.php。