0

我怎样才能重写这个网址

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

虽然它不起作用。

如何才能做到这一点?例如,是否仍然可以处理echo $_GET['test']重写的 url(或任何与查询有关的内容)?

4

1 回答 1

1

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

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 本身执行此操作,否则它将是一个无限循环。

如果您尝试另辟蹊径,让您的代码创建动态 url 以显示在您的网站上,那么无论您在哪里创建 html,它都在您的网站代码中的其他位置。创建后,此规则会将它们重写回 index.php。

于 2013-05-04T02:31:19.370 回答