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

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

1
リクエストURIからファイル名のみを抽出する方法
ファイルの拡張子に応じてリクエストuriを書き換え、uriからファイル名のみを抽出して別のフォルダーに保存しようとしています。ここでの問題は、ファイル名と使用可能な変数には事前に定義された変数ではないuri、request_uriとrequest_filename完全なURIを与えます。 server{ set $file_folder D:/nginx-1.0.15/imageAll/; location ~*+.(gif|jpg)$ { try_files $uri @imgstore; } location @imgstore { proxy_pass $file_folder$request_filename; proxy_store on; proxy_temp_path /nginx-1.0.15/images/; proxy_store_access user:rw group:rw all:r; } } 私ができる最善のは、私が入れたときに、拡張子.JPGまたは.GIFを得ている$1の代わりに$request_filename、このように: location @imgstore { proxy_pass $file_folder$1; } だから、私は知りたい: リクエストからファイル名を取得する方法は? 画像をフォルダから別のフォルダに保存するのは正しい方法ですか?
11 nginx  rewrite  images 

1
nginx:1つの場所を除くすべてを書き直す
現在、私のnginxはいくつかのドメインを、使用している1つのメインドメインに書き換えています。これが私の設定からの1つのルールです: server { listen X.X.X.X:80; server_name .exampleblog.org; rewrite ^(.*) http://blog.example.org$1 permanent; } ** exampleblog.org *へのすべてのリクエストは、blog.example.orgにリダイレクトされます ここで、www.exampleblog.org / +およびexampleblog.org/+を使用して、ユーザーをGoogle Plusページにリダイレクトします。それはの異なるバージョンを試しました: server { listen X.X.X.X:80; server_name .exampleblog.org; location /+ { rewrite ^ https://plus.google.com/12345678901234567890/ permanent; } rewrite ^(.*) http://blog.example.org$1 permanent; } 上記および他のバージョンは単にblog.example.org/+にリダイレクトします -何が問題なのですか?

4
IISの*すべての* HTTP / HTTPSリクエストを一時的に「サーバーメンテナンス」ページにリダイレクトする
数百の個別のWebアプリをホストするIISサーバーがあり、これらのアプリをホストする物理データベースサーバーは、メンテナンスのために短期間オフラインになります(所要時間は15分未満です)。 その期間中は、どのWebサイトについても、すべてのトラフィックを「現在メンテナンス中」のページにリダイレクトします。 すべてのWebアプリにアクセスし、そのアプリ内のすべてのリクエストに対してユーザーを別のページに送信するIIS書き換えルールを設定することで、これを実行できることがわかりました。しかし、それを行うには、データベースのメンテナンスを行うよりも時間がかかります! 私は3つのことを試しましたが、どれもうまくいきませんでした。 グローバルIIS書き換えルール 私はすべてのサイトにルールを一度に適用する簡単な方法を探していました。それから、同じように痛みのない手順でそのルールを「元に戻す」ことができます。これまでのところ、私の試みはどれもうまくいきませんでした。この書き換えルールをW:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.configにあるグローバルweb.configに入れてみました。 <configuration> <system.webServer> <rewrite> <rules> <rule name="redirect all requests" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /> </conditions> <action type="Redirect" url="http://www.somedomain.com/maintenance" appendQueryString="true" /> </rule> </rules> </rewrite> </system.webServer> </configuration> …

2
IISの書き換え、マップとクエリ文字列の書き換え
書き換えマップを理解するのを手伝ってください、私はこの設定をしています: <rewriteMap name="MyMap"> <add key="/pages" value="/website/pages/index.aspx" /> <add key="/pages/page-1" value="/website/pages/page-1/index.aspx" /> <add key="/pages/page-1/section-1" value="/website/pages/page-1/section-1.aspx" /> </rewriteMap> これが私のルールです: <rule name="Rewrite rule for MyMap" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{MyMap:{REQUEST_URI}}" pattern="(.+)" /> </conditions> <action type="Rewrite" url="{C:1}" appendQueryString="true" /> </rule> これらのページにアクセスしようとすると、これは機能しています: www.mydomain.com/pages(OK) www.mydomain.com/pages/page-1(OK) www.mydomain.com/pages/page-1/section-1(OK) しかし、私はこれらのページのいずれかにクエリ文字列を追加する可能性を望んでいます、例: www.mydomain.com/pages?page=1(FAIL) このページにアクセスしようとすると、404が表示されます。これを機能させるにはどうすればよいですか?
10 iis-7  rewrite 

3
Apache:リダイレクトログはどこで調べますか?
私は複雑RewriteCondでRewriteRule、1台のマシンにいます。そしてこれらのルールに従って、リクエストのいくつかは別のマシンにリダイレクトされます。 リダイレクトがどのように行われるかを明確に示すApacheログはありますか?私が予期しない方法でリダイレクトが行われているためです。

1
Nginx製品の古いカテゴリから新しいカテゴリへの単純なリダイレクト
製品を古いカテゴリから新しいカテゴリにリダイレクトしています。 私はそれを次のルールで機能させることができました: rewrite ^/old-category/(.*) /new-category/$1; しかし、「end line」記号$をいつ使用する必要があるのか​​、また、それがある場合とない場合の違いを知りたいのですが。例えば: rewrite ^/old-category/(.*)$ /new-category/$1; また、ユーザーが古いカテゴリー名(製品なし)を書くだけの場合、ユーザーをリダイレクトしたいのですが、カテゴリーリダイレクト専用の新しいルールを作成するか、上記の現在のルールを編集して両方のケースで機能するようにします。 よろしくお願いします。

4
RewriteRuleが配置されている場所に応じて、二重のスラッシュが続くのはなぜですか?
次のコードを使用して、すべてのwwwリクエストをwww以外のURLに送信しています。 RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC] RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] これは、私のWebサイトのルートにある.htaccessファイル内でうまく機能します。 たとえば、 www.example.com-> example.com/ www.example.com/-> example.com/ www.example.com/other_page-> example.com/other_page ただし、これと同じコードをVirtualHost構成に移動すると、書き換えられたURLには2つの末尾スラッシュが含まれます。 www.example.com-> example.com// www.example.com/-> example.com// www.example.com/other_page-> example.com//other_page 書き換えルールからスラッシュを削除して修正しました。 RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC] RewriteRule ^(.*)$ http://example.com$1 [R=301,L] しかし、その理由がわかりません。誰もが理由を知っていますか?

3
mod_rewriteはGETパラメータを転送しません
開発マシンでmod_rewriteを使用してApacheを設定するのに問題があります。Mod_rewriteはアクティブであり、一部のルールで適切に機能します。次のように、一部のルールは意図したとおりに機能しません。 RewriteRule ^static/([^/]+)/([^/]+) /static.php?sISOCode=$1&sPage=$2 static.phpでこれを行います(デバッグ用): <?php print_r($_GET); print_r($_POST); print_r($_SERVER); die(); 印刷($ _SERVER配列からいくつかの項目を削除): Array ( ) Array ( ) Array ( [SERVER_SIGNATURE] => <address>Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch Server at alpha.prove.no Port 80</address> [SERVER_SOFTWARE] => Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => …

2
ロケーションブロック内のNGINX書き換え構文
ばかげた質問かもしれませんが、私はこのための良いドキュメントや例を見つけることができないようです... 受信リクエストをフィルタリングするためにロケーションブロックを使用している場合、一致したロケーションから、またはリクエストの開始から書き換えを行いますか? 例: location ^~ /category/ { rewrite ^/category/paid-search-news/?$ /tag/paid-search permanent; # this, rewrite ^paid-search-news/?$ /tag/paid-search permanent; # this, rewrite paid-search-news/?$ /tag/paid-search permanent; # or this? }
8 nginx  rewrite 

2
nginxを使用して発信応答内のURLを書き換える
Apacheで実行しているサイトを持つ顧客がいます。最近、サイトの負荷が高まっているため、サイトのすべての静的コンテンツをCookieのないドメインにシフトしたいと考えていますhttp://static.thedomain.com。 アプリケーションはよく理解されていません。そのため、静的コンテンツサーバー(http://static.thedomain.com)へのリンクをポイントするようにコードを修正する時間を開発者に与えるために、nginxを介してサイトをプロキシし、リンクを/images/...に書き換えるように送信応答を書き換えることを考えましたhttp://static.thedomain.com/images/...。 たとえば、Apacheからnginxへの応答には、ヘッダー+ HTMLのblobがあります。Apacheから返されたHTMLには、次の<img>ようなタグがあります。 <img src="/images/someimage.png" /> これを次のように変換したい: <img src="http://static.thedomain.com/images/someimage.png" /> そのため、ブラウザはHTMLページを受信すると、静的コンテンツサーバーに直接画像をリクエストします。 これはnginx(またはHAProxy)で可能ですか? 私はドキュメントをざっと一目見ましたが、インバウンドURLを書き直す以外に何も飛び出していません。

1
ルートを含むTomcatへのドメイン全体のProxyPass
すべてのリクエストをTomcatサーバーにプロキシするようにVirtualHost example.comを設定しました ProxyPass / http://localhost:8088/app ProxyPassReverse / http://localhost:8088/app これは、のようなURLの罰金に動作しますexample.com/pageたがために、example.comとexample.com/私はこのリダイレクト応答、何も明らかにリードを取得します。 HTTP/1.1 302 Moved Temporarily Date: Wed, 06 Jul 2011 21:13:37 GMT Server: Apache-Coyote/1.1 <-- the redirect comes from tomcat Location: http://example.com/app/ <-- nonsense ... それを修正するにはどうすればよいですか?できれば、Apacheの設定で。 Apache 2とTomcat 7を使用しています

4
nginxサブドメインの書き換え
さらに別のnginx書き換えルールの質問 からhttp://www.*.domain.comに書き換える方法を教えてくださいhttp://*.domain.com。 前もって感謝します -Deb 編集: テキスタイルフォーマットが質問から*を削除していないのを確認できなかったのは残念です。今直した。私がする必要があるのは、www.joe.domain.comからjoe.domain.comに行くことです。
8 nginx  rewrite 

9
推奨:会社のWebサイトはhttpsを強制されますか?
私の会社では、「情報提供」WebサイトをHTTPからHTTPSに書き換えたいと考えています。技術的にこれは私にとって大したことではありません。しかし、彼らがこれを望んでいる唯一の理由は連絡先を暗号化してフォームをサインアップすることなので、これが最先端のものであるかどうか私には疑問があります。(フォームを含むサイトでHTTPSを有効にすることもできますが、そのアプローチは好きではありません。) HTTPSのみの会社のWebサイトを持つことの欠点と不利な点は何ですか?あなたの経験と推奨は何ですか? Webアプリケーションは別のURLで実行されており、暗号化されています。 よろしく

2
Apache:あらかじめパックされたgzip形式のファイルを送信します
Apacheにgzip圧縮された静的ファイルをネットワーク経由で送信させたいですが、Apacheが常にそれらを繰り返しgzip圧縮しないようにして欲しいです。したがって、.gzファイルが存在する場合、それを配信することは不可能かと考えました。このセットアップ: ファイル構造: static/ | |--- style.css | \--- style.css.gz そして、次の.htaccessに: mod_rewriteルール: RewriteCond %{REQUEST_FILENAME}.gz -s RewriteRule ^(.+) $1.gz [L] そしてこの設定: AddEncoding x-gzip .gz 実際、リクエストがに送信された場合、.cssの代わりに.gzファイルが送信される限り、これは機能し/static/style.cssます。問題は、ファイルが「text / css」ではなく「application / x-gzip」として配信されることだけです。mod_rewriteのTフラグを使用しても、これは変わりません。明示的でもありません AddType text/css .css 誰かがアイデアを持っていますか?または、何らかの理由で私が考慮しなかった必要がないのですか? 編集:追加の問題があります:gzipサポートなしで元のファイルをクライアントに送信します。これがどのように機能するか考えている人はいますか?

4
IIS 7を構成して、サブディレクトリを既定のドキュメントとして使用するにはどうすればよいですか?
だから私は割引asp.netアカウントで実行しているウェブサイトを持っています、そして私はサブディレクトリにasp.net mvcアプリを置きました。私のURLが「www.website.com」で、アプリが「sample」ディレクトリにある場合、「www.website.com/sample」はmvcアプリを実行します。 私の問題は、「www.website.com/sample」だけでなく「www.website.com」にアクセスしたときにアプリを表示したいということです。IISマネージャーにアクセスできます。これを行う方法はたくさんあると思います。 これを行う最良の方法は何ですか?

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