問題タブ [nginx-location]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - nginxを使用してサーバーに一致するようにURLを書き換える方法は?
私はnginxが初めてです。私は 2 つのプロジェクトを持っています。1 つはlocalhost 8000を実行している django Web アプリで、もう 1 つは API サービスを提供してlocalhost 8888を実行していた tornadoです。
すべての URL リクエスト (80 ポートから) をlocalhost:8000にリダイレクトし、 /apiリクエストをlocalhost:8888 (トルネード アプリ)にリダイレクトするように nginx を設定するにはどうすればよいですか?
regex - Nginx で、URL とクエリ文字列全体を照合し、URL とクエリ文字列にリダイレクトする方法
私はしばらくの間探していて、回避策を試みましたが、有用なものは何も思いつきませんでした.
サイト移行からの URL の (大規模な) リストがあり、URL 全体とクエリ文字列を一致させ、別の URL にリダイレクトする必要があります。
私が見ることができる限り、次はにのみ一致/mens
しますが、クエリ文字列の残りの部分は一致しません。
それが重要な理由は、以下のようにリダイレクトする必要がある、わずかに異なるクエリ文字列を持つ同様の URL がたくさんあるためですが、実際には機能します.... :-/
前もってありがとう、ポール。
nginx - 場所に応じて異なる URL 書き換え
URL の書き換えについて明確なドキュメントを見つけることができません (ネイティブではない人にとってドキュメントは予想外に読みにくいため、理解できません)。
/*\.(js|png|jpg|css|ttf|xml)$/
一致するすべてのルートを書き換えてpath/media/
ファイルの存在を試み、存在する場合はそれを返す方法を探しています。404 not found
次に、で始まる場合は、/ajax/
すべてを次の方向path/ajax/index.php
にリダイレクトします。path/www/index.php
どうすればいいのかよくわかりません。今のところ、/media/、/ajax/、/www/の 3 つの場所を作成しましたが、rewrite を使用して返さないのが正しい方法であるかどうかはわかりません。場所はそれを行う正しい方法です。
私がsites-enabled/file
fastcgi に関して書いたことをよく理解していません。これはインタープリターパスですか?
正解すれば「.phpで終わり、階層に存在する場合は実行する」ということです。
そして、php (/www/ と /ajax/) を処理する必要がある各場所にそのようなものを配置する必要があるかどうかはわかりません。特に、両方のルーティングを行う予定があるためです。また、そのようにすべきかどうかもわかりません。
php - Nginx で wp-login.php への IP アクセスをブロックできません
wp-login.php への攻撃が発生しているので、保護することにしました。コードは次のとおりです。
wp-admin ディレクトリは問題なく保護されますが、wp-login.php の保護が機能しません。これにより、使用する IP に関係なく wp-login.php にアクセスできます。何か案が ?
php - Nginx ロケーション マッチングでの括弧付き変数キャプチャ
私はこの場所のルールを持っています:
次のような URL に最適です。
しかし今、私は自分の場所を変更して、その中の括弧でURLを一致させる必要があります. 私はこのバージョンを使用します:
ただし、 url の書き換えは発生していません/banks/Respublika_Saha_(Yakutiya)/Neryungri/responses/
。
このパターンを php preg_match関数でチェックします。
そして を返すので、このパターンは url とおよび に1
一致します。(
)
さらに、この文字列を python re.search でチェックします。
を返す0
ので、このパターンは最初からこの文字列にマッチします。
しかし、nginx はそうは考えていません。
この URL に一致するように nginx ロケーション ルールを変更するにはどうすればよい/banks/Respublika_Saha_(Yakutiya)/Neryungri/responses/
ですか?
PS nginxの私のバージョンはnginx/1.9.10
nginx - Allow index a folder, but don't serve files
I want to allow Nginx to autoindex a folder, but not serve the files. In my app, the files are stocked in a protected-files folder and this folder isn't accessible for users. When a user calls a file (eg: my-website.com/files/my-great-files.pdf), in reality, he was redirected on a PHP script that verify if the user have the rights to call this file. I know how to do that, and it's ok.
But actually, I want use a JS plugin named jBrowse, and this program need to access to a lot of files, and to the index of a folder to have the files list in it.
And I don't know how to do this... Can we return a file index in PHP ?
Or an other idea, permit to Nginx to return the index of a folder with empty files. And when a user or the plugin want access to the file, he's redirect on the PHP script that control the rights.
I've mind this:
This is ok, the user can navigate in the folder, see the files, but if he click on, he has an 403 error. But I can't replace the deny all, by a redirection to php...
This is my default.conf file:
regex - /static/ ディレクトリを除くすべてのリクエストを index.php に書き換えます
ここに私のnginx.confがあります:
URLを書き換えずに /static/ ディレクトリ内のファイルを提供するようにnginxに依頼するにはどうすればよいですか?
php - css、js、静的ファイルへの変更が nginx docker コンテナーに反映されない
PHPに関するマルチコンテナアプリケーションを作成しました。php ファイルを変更すると、ブラウザで変更を確認できます。しかし、css や js などの静的ファイルを変更しても、ブラウザーには変更がありません。以下は、私の Dockerfile コードです。
Dockerfile
default.conf
nginx.conf
docker-compose.yml
php - Nginx で同等の Apache RewriteCond
私はNginxが初めてで、WordPressサイト用に持っている次のルールをApacheからNginxに変換しようとしています. Nginx 1.4.6 を実行している Ubuntu マシンで、デフォルトの Nginx 構成から始めています。
上記のルールは、ルールで定義されたファイルを除いて、すべてのリクエストをwp-content/themes/*.php
に書き換えます。security-log.php
RewriteCond
私が集めたものから、Nginx でこれを行う方法は、location
ブロックを使用することです。次のことを試しました(特定のファイル/フォルダーを除外するために何をすべきかまだわかりません)。
上記のルールは完全に無視されているようです (正規表現に何か問題があるのでしょうか?)。
次のように固定パスを指定すると、ルールが呼び出されますが、Nginx は PHP インタープリターを使用して実行するのではなく、PHP ファイルを提供します (ブラウザーはファイルをダウンロードします) (ほとんどの場合、これはfast-cgi
呼び出されていないためです)。
これを達成するための最良の方法は何ですか?