3

.htaccessファイルで数学演算子を使用することは可能ですか?たとえば、id=100のページをid=30のページにリダイレクトしたいですか?

4

1 に答える 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]

編集:私の知る限り、.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 に答える