繁体   English   中英

如何在PHP中使用Apache mod_rewrite模块合并2个重写规则

[英]How to merge 2 rewrite rule using Apache mod_rewrite module in php

我想知道我是否可以合并2个重写规则。 我正在使用Apache mod_rewrite模块。

规则1

RewriteRule ^albums/singles/?$ discography/discography.php?primarytype=2 [L,QSA]

规则2

RewriteRule ^albums/ep/?$ discography/discography.php?primarytype=3 [L,QSA]

我可以合并这两个规则吗?

RewriteRule ^albums/(singles|ep)/?$ discography/discography.php?primarytype=2 [L,QSA]

看看这对您有用吗? 我现在还没有测试。

第一部分是正则表达式,第二部分是要重写的URL。 因此,在第二个URL中,我认为此(2 | 3)可能无效。

实际上,您可以在RewriteCond中捕获url的动态部分,然后将其用作primarytype = $ 1

那就是您的结果url可以变成primarytype = ep或primarytype = single,但似乎不能动态地将它们设为2或3。

RewriteRule ^albums/(singles|ep)/?$ discography/discography.php?primarytype=$1 [L,QSA]

上面的选项可能是您生成带有primarytype = ep或primarytype = singles的url的一个选项,但是似乎不能像您在问题中提到的那样动态选择2或3。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM