友好 URL 和?标签
friendly URL and ? tag
我有以下结构:
RewriteRule ^page/([a-z0-9-]+)?$ page.php?pagename= [NC,L]
RewriteRule ^page/([a-z0-9-]+)/?$ page.php?pagename= [NC,L]
我可以使用以下网址访问名为 "talk" 的页面:
site.com/page/talk
site.com/page/talk/
没关系,但我想动态添加一些选项,我不想创建更多重写规则,我想在同一个 link 中使用普通 GET,例如:
site.com/page/talk/?fontsize=15
我该怎么做?
另外,有没有办法使用下面这样的东西?
RewriteRule ^pages/order-([a-z0-9-]+)/?$ pages.php?order= [NC,L]
我试过了,但做不到。
谢谢。
对于第一部分,您只需移动原始查询字符串即可与新查询字符串合并。不幸的是,由于所述查询字符串的布局方式,这必须在单独的规则中完成。在其他新闻中,您的正则表达式似乎有点畸形。这是新的:
RewriteRule ^page(?:/([a-z0-9\-]+))?/?$ page.php?pagename= [NC,L]
RewriteRule ^page(?:/([a-z0-9\-]+))?/?\?(.*)$ page.php?pagename=& [NC,L]
看到前两个如何合并为一个了吗?
我忘记了这个老问题,现在我需要什么?参数,我使用 QSA 标志。
RewriteRule ^page/([a-z0-9-]+)(/?)$ page.php?pagename= [QSA,NC,L]
我通过使用 (/?) 将两个规则简化为一个,这意味着它可以有 / 和结尾,并且 QSA 标志附加了 ?值到最后,如下例所示:
page/home?debug=true
结果:
page.php?pagename=&debug=true
我有以下结构:
RewriteRule ^page/([a-z0-9-]+)?$ page.php?pagename= [NC,L]
RewriteRule ^page/([a-z0-9-]+)/?$ page.php?pagename= [NC,L]
我可以使用以下网址访问名为 "talk" 的页面:
site.com/page/talk
site.com/page/talk/
没关系,但我想动态添加一些选项,我不想创建更多重写规则,我想在同一个 link 中使用普通 GET,例如:
site.com/page/talk/?fontsize=15
我该怎么做?
另外,有没有办法使用下面这样的东西?
RewriteRule ^pages/order-([a-z0-9-]+)/?$ pages.php?order= [NC,L]
我试过了,但做不到。
谢谢。
对于第一部分,您只需移动原始查询字符串即可与新查询字符串合并。不幸的是,由于所述查询字符串的布局方式,这必须在单独的规则中完成。在其他新闻中,您的正则表达式似乎有点畸形。这是新的:
RewriteRule ^page(?:/([a-z0-9\-]+))?/?$ page.php?pagename= [NC,L]
RewriteRule ^page(?:/([a-z0-9\-]+))?/?\?(.*)$ page.php?pagename=& [NC,L]
看到前两个如何合并为一个了吗?
我忘记了这个老问题,现在我需要什么?参数,我使用 QSA 标志。
RewriteRule ^page/([a-z0-9-]+)(/?)$ page.php?pagename= [QSA,NC,L]
我通过使用 (/?) 将两个规则简化为一个,这意味着它可以有 / 和结尾,并且 QSA 标志附加了 ?值到最后,如下例所示:
page/home?debug=true
结果:
page.php?pagename=&debug=true