基于关键字数组生成虚拟页面的php脚本正在使用template master file
。这是规则:
RewriteRule ^([+a-zA-Z0-9]+)/([+a-zA-Z0-9]+)\_service.html$ /master-one.php?city=$1 [L]
我想根据secondary关键字数组添加另一个要读取的主文件。尝试复制规则,将/master-one.php
更改为/master=two.php
,但这会导致网页按关键字生成,但会显示master-one.php
内容。
我该如何解决这个谜语?
答案 0 :(得分:0)
不确定。您可以拥有多个RewriteRule
。他们只需要有不同的模式,并且应按所需的优先级排序。
简单地避免使用过于通用的占位符。它可能看起来像:
RewriteRule ^(Boston|Washington|Whatever)/(\w+?)_service.html$ /one.php?c=$1 [L]
RewriteRule ^(Paris|London|Amsterdam)/(\w+?)_service.html$ /two.php?c=$1 [L]
RewriteRule ^(\w+)/(Else|And|Whatever)_service.html$ /else.php?xyz=$2 [L]
\w+?
匹配字母数字字符。替代列表(X|Y|Z)
是每个规则应匹配的任何关键字。
这两个规则都不能查找每个模板/主文件可以处理的关键字。因此,您必须手动制作备用列表。 ([RewriteMap
]有自动化,但如果没有任何进一步的细节,则无法回答 - 您已被要求...)
另请参阅:Reference: mod_rewrite, URL rewriting and "pretty links" explained