私は短いリンクサービス(goo.glなど)を開発しました。ショートリンクサービスのためのNginxの設定:ファイルでない場合に書き直し
example.com/Lg1Q
として表示されているアドレスバーのブラウザで
Shortlinksは最近、私が原因パフォーマンス上の利点に、nginxのにライティから移行しました。 Lighttpdので 私はURLからのindex.phpスクリプトに「Lg1Q」の部分を引き渡すために
url.rewrite-if-not-file = (
"^/(.*)(\?.*)?$" => "/index.php?fwd=$1"
)
を使用しました。
次のようにindex.phpスクリプトはURLからではないファイルの部分を処理します。
if (!empty($myUrl) && $_SERVER['REQUEST_URI'] !== '/index.php' && $_SERVER['REQUEST_URI'] !== '/index.html' && $_SERVER['REQUEST_URI'] !$
$query = htmlspecialchars(str_replace("fwd=","", $_SERVER['QUERY_STRING']));
require_once 'src/clsForwardURL.class.php';
$myForward = new clsForwardURL();
$url = $myForward->fForwardURL($query);
$url = ($url[0]['su_longurl']);
echo header('location:'.$url);
}//end if
私は次のようにnginxの構文にLighttpdのから書き換えルールを再構築しようとした:
rewrite "^/(.*)(\?.*)?$" /index.php?fwd=$1;
その後、/ etc/nginx/sites-availableのnginxホストコンテナのlocation ~ \.php
ブロックとlocation /
ブロックにこのルールを挿入しました。
いずれの場合でも、ブラウザは「404」または「500」エラーを表示しました。
私の質問は 「ショートリンク」の目的で書き換えルールを正しく設定するにはどうすればよいですか?
上記の@リチャードスミスの最初の例は、私のスクリプトのトリックでした。 – kzpm