タグ付けされた質問 「rewrite」

URL書き換えは、受信したURLを変更されたURLにマッピングし、元の要求が変更されたURLに対して行われたかのように要求が処理されるようにします。これは、検索エンジンにわかりやすいURLを提供するためによく使用されます。

2
Nginx httpsの書き換えによりPOSTがGETになります
私のプロキシサーバーはIP Aで実行され、これが人々が私のWebサービスにアクセスする方法です。nginx構成は、IP Bの仮想マシンにリダイレクトします。 IP Aのプロキシサーバーの場合、これは自分のサイトで利用可能です。 server { listen 443; ssl on; ssl_certificate nginx.pem; ssl_certificate_key nginx.key; client_max_body_size 200M; server_name localhost 127.0.0.1; server_name_in_redirect off; location / { proxy_pass http://10.10.0.59:80; proxy_redirect http://10.10.0.59:80/ /; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; rewrite ^(.*) https://$http_host$1 permanent; server_name …
17 nginx  rewrite 

2
nginxの書き換えを使用した「非表示」の.htmlファイル拡張子
私はnginx経由で静的サイトを提供していますが、私の目標は次のようなURLを置き換えることです: http://foo.com/bar.html と http://foo.com/bar キーは末尾のスラッシュがないことです。私は現在、場所のエイリアスを使用して同様のことをしていますが、これはすべてのファイルの場所ブロックを必要とし、nginxがエイリアスをディレクトリとして見るために末尾のスラッシュも追加するため、退屈です: location / { root /srv/www/foo/public_html; index index.html; } location /bar1 { alias /srv/www/foo/public_html/; index bar1.html; } location /bar2 { alias /srv/www/foo/public_html/; index bar2.html; } 等々。書き換えに関するドキュメントを読みましたが、言われていることを私がそれをするために必要なものに統合することはできないようです。私はApacheのバックグラウンドから来たわけではありません。nginxはWebサーバーへの最初の進出であるため、HTTPのバックグラウンドが弱いため、明らかな何かを見逃していると確信しています。あなたが提供できる助けを事前に感謝します。
16 nginx  rewrite 

2
パラメーター付きのURLのnginxの書き換え
このタイプのURLがあります: http://www.example.com/?param1=val1&param2=&param3=val3&param4=val4&param5=val5 そして、私はこれをこれにリダイレクトしたい: http://www.example.com/newparam/val3/val4 だから私は成功せずにこの書き換えルールを試しました: rewrite "/?param1=val1&param2=&param3=(.+)&param4=(.+)&param5=(.+)" http://www.example.com/newparam/$1/$2 redirect; nginxはクエリパラメータを処理できませんか? 編集:すべての請願書を書き直したくありません。他の人に影響を与えることなく、そのURLを書き換えるだけです。

2
ホームページのみをリダイレクト
http://shop.test.comのみ を http://www.test.com/fedex-orders/にリダイレクトする必要があります ただホームページ。他に何もありません。つまり、 http://shop.test.com/?page = blogはリダイレクトすべきではありません。
16 nginx  rewrite 

1
外部ソースからnginxでリダイレクトを維持する
私は、マーケティング部門が独自にリダイレクトを維持する機会を与える状況にあります。今まで、彼らは情報をIT部門に渡し、私たちは彼らのためにそれを維持しましたnginx.conf。 これらの人の中には、IISまたはApacheのリダイレクトにも精通している人もいますが、nginx構成に直接アクセスするオプションはありません。 私は、.htaccess私がアクセスできるファイルに対するnginxのサポートがなく、またnginxが含むconfファイルへの書き込みアクセスを許可しないことを好みます。私たちのマーケティングは数時間以内にnginxの設定を壊してしまうと思います... ロードバランサーの中心にアクセスすることなく、安全な可能性はありますか?
15 nginx  rewrite 

3
nginxの大文字と小文字を区別しない書き換え
私はnginxリダイレクトをできるだけきれいにしようとしています。〜*は大文字と小文字を区別しないことを理解していますが、例2でのみ動作させることができます。 例1 rewrite ^/foobar http://www.youtube.com/watch?v=oHg5SJYRHA0 redirect; 例2-これは機能しますが、上記の行ほど効率的ではありません。 if ( $request_filename ~* foobar ) { rewrite ^ http://www.youtube.com/watch?v=oHg5SJYRHA0 redirect; } 例1で大文字と小文字を区別しないリダイレクトを行う方法はありますか? ありがとう。
15 nginx  rewrite 

1
gzip圧縮でIIS URLリライトを使用する方法
静的なHTMLページと圧縮が有効になっているサイトのWindows 2008 R2上のIIS 7.5で送信ルールを作成しようとしています。 何らかの形式の圧縮(静的または動的)を有効にしている場合、次のエラーが表示されます。 HTTP Error 500.52 - URL Rewrite Module Error. Outbound rewrite rules cannot be applied when the content of the HTTP response is encoded ("gzip"). ページの読み込みパフォーマンスに大きな悪影響を与えるため、圧縮をオフにすることは実際には選択肢ではありません。 テキストコンテンツの圧縮を常に有効にする必要があるため、送信リライトルールを使用するユーザーがこのエラーに遭遇することを想像します。 これを機能させるための提案をいくつか見てきました。 /programming/3713804/url-rewrite-outbound-rules-iis7/4363301#4363301 そして http://forums.iis.net/p/1165899/1937454.aspx#1937454 しかし、私はまだ同じエラーを受け取ります。 誰かがこれを機能させましたか?もしそうならどのように?
13 iis-7.5  rewrite  gzip 

3
Nginxは、ファイルが存在する場合にのみURLを書き換えます
ユーザーが古い画像のURLにアクセスしようとすると、Nginxの書き換えルールを記述する必要があります。 /images/path/to/image.png ファイルが存在しない場合は、次の場所にリダイレクトしてください: /website_images/path/to/image.png 新しいURLに画像が存在する場合のみ、それ以外の場合は404に進みます。ホスト上のNginxのバージョンには、try_filesがまだありません。
13 nginx  rewrite 

2
Nginx複数ルート
特定のサブディレクトリへのリクエストを別のルートロケーションに転送したいのですが。どうやって?私の既存のブロックは: server { listen 80; server_name www.domain.com; location / { root /home/me/Documents/site1; index index.html; } location /petproject { root /home/me/pet-Project/website; index index.html; rewrite ^/petproject(.*)$ /$1; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } …

1
私のnginxの書き換えはphpファイルをダウンロードしています
私がしようとしている次の書き換えルールがあります: location / { index index.php index.html; rewrite ^/test$ /test.php break; } そして私も持っています: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/sites/default$fastcgi_script_name; fastcgi_index index.php; } 通常のphpファイルは問題なく動作しますが、リダイレクトは解析するのではなく、リダイレクト先のphpファイルをダウンロードするだけのようです。 私は何が欠けていますか?ダウンロードする代わりに、fastcgiを最初のロケーションブロックに配置してファイルをロードしましたが、それでもphpとして解析されませんでした。
12 php  nginx  rewrite 

4
TeamCity Tomcatに接続するようにIIS 7リバースプロキシを構成する
我々は持っているIIS 7構成されたWebサーバをして作成したいと考えリバースプロキシをするためにチームシティーの使用してインストールTomcatを同じマシン上で。 IISサーバーサイトがhttps://somesiteあり、TeamCityがにhttps://somesite/teamcityリダイレクトされてhttp://localhost:portnumberいるように見せたいです。 私がインストールされているIIS URL書き換え拡張およびアプリケーション要求ルーティングリバースプロキシを試してみて、セットアップするのが、それは働いて得ることができません。 私が見つけた最も近い答えは古いStackOverflowの質問です:https ://stackoverflow.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-httpsは 残念ながら機能していません例。 私はかなり検索しましたが、関連する例を見つけることができないようです。 どんな助けも大歓迎です!

4
リファラーに基づいた異なるnginxルール
WP Super CacheでWordPressを使用しています。Googleからの訪問者(google.co.in、google.co.ukなど、国固有のすべてのリファラーを含む)にキャッシュされていないコンテンツを表示してほしい。 私が望む方法で動作していない私のnginxルールがあります: server { server_name website.com; location / { root /var/www/html/website.com; index index.php; if ($http_referer ~* (www.google.com|www.google.co) ) { rewrite . /index.php break; } if (-f $request_filename) { break; } set $supercache_file ''; set $supercache_uri $request_uri; if ($request_method = POST) { set $supercache_uri ''; } if ($query_string) { …

3
mod_rewriteをURLに使用する方法と同様に、プロキシを介して渡されるすべてのページのコンテンツを置き換えることは可能ですか?
mod_rewriteをURLに使用する方法と同様に、プロキシを介して渡されるすべてのページのコンテンツを置き換えることは可能ですか?代替のドキュメントは明確ではありません。 絶対パスを持つリバースプロキシしているページがいくつかあります。これはサイトを破壊します。それらは置き換える必要があり、mod_rewriteのようなツールはURLリクエストではないため、それらをピックアップしません。 <VirtualHost *:80> ServerName servername1 ServerAlias servername2 ErrorLog "/var/log/proxy/jpuat_prox_error_log" CustomLog "/var/log/proxy/jpuat_prox_access_log" common RewriteEngine on LogLevel alert rewrite:trace2 RewriteCond %{HTTP_HOST} /uat.site.co.jp$ [NC] RewriteRule ^(.*)$ http://jp.uat.site2uk.co.uk/$1 [P] AddOutputFilterByType SUBSTITUTE text/html Substitute "s|uat.site.co.jp|jp.uat.site2uk.co.uk|i" ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://uat.site.co.jp/ ProxyPassReverse / http://uat.site.co.jp/ </VirtualHost> 上記のいずれも、HTML文字列の置換では機能しません。 <link …

2
Nginx Rewrite Convert querystring to Path
この単純な書き換えルールが好きです: /somefolder/mypage.aspx?myid=4343&tab=overview リダイレクト先: /folder/4343/overview/ いくつかの解決策を探しましたが、実際に機能するものはありませんでした。 私は試した: rewrite ^/somefolder/mypage.aspx?myid=(.*)&tab=overview$ /folder/$1/overview permanent; そして rewrite ^/somefolder/mypage\.aspx\?myid=(.*)&tab=overview$ /folder/$1/overview permanent; 私は何を間違えていますか?404を取得しています (より単純なルールで問題なく動作します。) ありがとう

2
URL書き換えルールがIIS7のサブディレクトリに継承されないようにする
CMSでクリーンURLのURL書き換えセットアップがあり、web.configは次のようになります。 <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Clean URLs" stopProcessing="true"> <match url="^([^/]+)/?$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="?id={R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration> 基本的index.php?id=somethingにsomethingはクリーンなURLになります。非常にシンプルで、うまく機能します。 CMSで一般的であるように、バックエンドの破損を防ぐために、各サブディレクトリにはweb.configのいずれ<remove name="Clean URLs" />か<clear />が必要であるため、ルールは継承されません。 何らかの方法でルールのスコープを現在のディレクトリのみに制限することにより、親のルールで、子によってまったく継承されないように指定する方法はありますか?そのようなもの<rule name="Clean URLs" stopProcessing="true" inherit="no">は壮大です。
11 iis  iis-7  rewrite  url  web.config 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.