htaccess 文件中的数学运算符

发布于 2024-09-27 21:15:32 字数 66 浏览 4 评论 0原文

是否可以在 .htaccess 文件中使用数学运算符? 例如我想将 id=100 的页面重定向到 id=30 的页面?

is it possible to use mathematical operators in .htaccess file?
for example i want to redirect a page with id=100 to a page with id=30 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

み青杉依旧 2024-10-04 21:15:32

假设您正在谈论查询字符串,是的。

要将 http://example.com/page.php?id=100 重定向到 http://example.com/page.php?id=30 你会这样做this:

RewriteEngine On
RewriteCond %{QUERY_STRING} id=100
RewriteRule page.php page.php?id=30 [R=301,L]

编辑: AFAIK,不可能在 .htaccess 中进行计算。将请求发送到进行计算的 PHP 脚本,然后使用 header 函数进行重定向(不确定是否您使用的是 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();

Assuming you're talking about query strings, yes.

To redirect http://example.com/page.php?id=100 to http://example.com/page.php?id=30 you would do this:

RewriteEngine On
RewriteCond %{QUERY_STRING} id=100
RewriteRule page.php page.php?id=30 [R=301,L]

Edit: AFAIK, it's not possible to do calculations in .htaccess. Send the request to a PHP script where you do the calculation then use the header function to do the redirect (not sure if you're using PHP, but the same principle applies to other languages).

in .htaccess:

RewriteEngine On
RewriteCond %{QUERY_STRING} id=([0-9]*)
RewriteRule page.php calc.php?id=%1 [L]

And in 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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文