友好网址和 ?标记



我有以下结构:

RewriteRule ^page/([a-z0-9-]+)?$ page.php?pagename=$1 [NC,L]
RewriteRule ^page/([a-z0-9-]+)/?$ page.php?pagename=$1 [NC,L]

我可以使用网址访问名为"talk"的页面:

site.com/page/talk
site.com/page/talk/

没关系,但是我想动态添加一些选项,并且不想创建更多的重写规则,我想在同一链接中使用普通的GET,例如:

site.com/page/talk/?fontsize=15

我该怎么做?

另外,有没有办法在下面使用这样的东西?

RewriteRule ^pages/order-([a-z0-9-]+)/?$ pages.php?order=$1 [NC,L]

我已经尝试过,但做不到。

谢谢。

我已经忘记了这个老问题,现在我需要有 ? 参数,我使用 QSA 标志。

RewriteRule ^page/([a-z0-9-]+)(/?)$ page.php?pagename=$1 [QSA,NC,L]

我使用 (/?) 将两个规则简化为一个,这意味着它可以有/和结尾,QSA 标志将 ? 值附加到末尾,如下例所示:

page/home?debug=true

导致:

page.php?pagename=$1&debug=true

对于第一部分,只需移动原始查询字符串即可与新查询字符串合并。不幸的是,由于所述查询字符串的布局方式,这必须在单独的规则中完成。在其他新闻中,您的正则表达式似乎有点畸形。这是新的:

RewriteRule ^page(?:/([a-z0-9-]+))?/?$ page.php?pagename=$1 [NC,L]
RewriteRule ^page(?:/([a-z0-9-]+))?/??(.*)$ page.php?pagename=$1&$2 [NC,L]

看看前两个是如何合并为一个的?

相关内容

  • 没有找到相关文章

最新更新