是否可以在 .htaccess 文件中使用数学运算符?例如,我想将 id=100 的页面重定向到 id=30 的页面?
问问题
1674 次
1 回答
3
假设您正在谈论查询字符串,是的。
要重定向http://example.com/page.php?id=100
到http://example.com/page.php?id=30
您,请执行以下操作:
RewriteEngine On
RewriteCond %{QUERY_STRING} id=100
RewriteRule page.php page.php?id=30 [R=301,L]
编辑: AFAIK,不可能在 .htaccess 中进行计算。将请求发送到您进行计算的 PHP 脚本,然后使用标头函数进行重定向(不确定您是否使用 PHP,但同样的原则适用于其他语言)。
在 .htaccess 中:
RewriteEngine On
RewriteCond %{QUERY_STRING} id=([0-9]*)
RewriteRule page.php calc.php?id=%1 [L]
在 calc.php 中:
<?php
$base_url = 'http://example.com/destination.php?id=';
if($_GET['id'] < 100){
$new_id = 30;
}
elseif($_GET['id'] >= 100){
$new_id = 40;
}
$url = $base_url.$new_id;
header("Location: $url");
exit();
于 2010-10-16T18:41:01.070 回答