0

我想在.htaccess中尝试类似的东西:

我想把每个都改成?sp=SOMEWHAT不同的?p=NNN(一些数字)我有 100?sp=页。而且我不想在每个页面加载时使用 100 条规则。如果这是另一种解决方法,我很高兴知道。

if(RewriteCond %{HTTP_HOST ^?sp=}{
    RewriteRule ^?sp=bar ?p=5
    RewriteRule ^?sp=foo ?p=9
    RewriteRule ^?sp=tin ?p=15
}

这不是 ?sp= 和 ?p= 之间的逻辑

更新:我无权访问服务器配置。

4

1 回答 1

1

这可以通过 RewriteMap 指令来完成(如果您可以访问服务器配置,正如评论中所指出的那样。不知道他们为什么认为需要限制...)。例如:

RewriteMap sp_to_s txt:/path/to/map.txt
RewriteRule ^?sp=(.*) ?p=${sp_to_s:$1|0}

0如果地图中没有任何对匹配,则这是默认值)。

这是一个示例 map.txt:

bar 5
foo 9
tin 15

地图功能的使用方式更多;有关详细信息,请参阅 mod_rewrite 的文档。

于 2013-06-12T12:52:56.707 回答