在html扩展页面中传递变量。喜欢html?a = asdfadf

时间:2011-12-23 17:20:40

标签: php mod-rewrite parameter-passing

我想在.html扩展页面中传递变量,而.html页面由mod重写组成,所以这些不是html文件,而是PHP脚本,通过mod重写制作.html。 任何线索?

编辑:我的.htaccess文件*:

RewriteEngine on
RewriteRule ^watch/(.*)/(.*).html$ video.php?tag=$1&video=$2 [L]
RewriteRule ^(.*)/([0-9]+).html$ index.php?tag=$1&page=$2 [L]
RewriteRule ^(.*).html?([a-zA-Z=]+)$ index.php?tag=$1 [L]

*如评论中所提供。间距可能与原始间距不同。

1 个答案:

答案 0 :(得分:1)

[QSA] flag添加到您的重写中。这将采用原始查询字符串并将新的参数添加到其中。

RewriteRule ^(.*).html$ index.php?tag=$1 [L,QSA]

这会将whatever.html?orderby=views重写为index.php?tag=whatever&orderby=views

唯一的问题是,无论如何,使用PHP,whatever.html?tag=somethingelse会给你带来一些奇怪的感觉。 ($_GET['tag']将有两个值,但只有最后显示的值才是实际值。)但这通常很好;你只需要确保不提供这样的URL,你可以不关心那些尝试这些古怪URL的人看到了什么。 (当然,假设您正确验证$_GET['tag']。)