
私は、すべての QR コードを指定された URL 構造にヒットさせ、それを nginx 経由で指定された場所に転送することで、マーケティング活動のために RYO QR コード管理システムを実行しています。
次のような構造で設定しようとしています:
server {
listen 80;
server_name mydomain.com/c/m/b/1;
return 301 $scheme://myotherdomain.com$request_uri;
}
nginx を起動すると、サーバー名の行に疑わしい文字が含まれていると表示されます。ドメイン名にスラッシュを使用することはできますか?
答え1
これはあなたが何を望んでいるかを推測した内容です。
http://mydomain.com/
すべてのURL を にリダイレクトする場合はhttp://myotherdomain.com/
、次のようにします。
server {
listen 80;
server_name mydomain.com;
rewrite ^ http://myotherdomain.com$request_uri permanent;
}
特定のパスのみをリダイレクトしたい場合は、次のlocation
ディレクティブを使用できます。
server {
listen 80;
server_name mydomain.com;
location /c {
rewrite ^ http://myotherdomain.com$request_uri permanent;
}
}
答え2
いいえ、スラッシュはドメイン名の有効な部分ではありません。また、パスとプロトコル部分を区切るために使用することもできません (http://) です。
拡張パラメータ(正規表現)がserver_name
config ステートメントが役立ちます。