問題タブ [trailing-slash]
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.
redirect - Pretty-Faces リダイレクト ループ
こんにちは、Tomcat 7 できれいな顔 3.3.3 を使用しています
そしてこの設定
「browse」の後に末尾のスラッシュのないリクエストをbrowse /にリダイレクトする(末尾のスラッシュ付き)。背景: 末尾のスラッシュがない場合、相対 outputLinks はサブディレクトリとしてではなく、現在のディレクトリ内のファイルとして処理されます。
今リクエストしたら
ブラウザがリダイレクト ループに陥る
編集:
参照が予約済みのキーワードである可能性はありますか? それをリスに置き換えると、すべてが期待どおりに機能します:
.htaccess - WP multisite .htaccess ファイルの末尾のスラッシュを削除
大規模な WordPress マルチサイト インストールの一部である 1 つのサイトのリダイレクトを含む .htaccess ファイルを作成しました。
.htaccess コンテンツはこれで始まります (複数のサイトで同じ .httacess ファイルを使用する必要があるため、これが必要です:
そして、次のように一連の書き換えが含まれます。
にアクセスする
とmydomain.com/about-my-site
、 に正しくリダイレクトされます。mydomain.com/about
mydomain.com/about-my-site/
.htaccess - .htaccess URL のリダイレクト、URL の削除、末尾のスラッシュ、www の強制
そこで、ドメインの 1 つ (domain.com と呼びます) をサブディレクトリの 1 つ (ファイルと呼びます) にリダイレクトし、index?page= を削減するリンクを作成しようとしています。 www で、すべてのページで末尾のスラッシュを使用できます。
現在、私は持っています
domain.com/index?page=about または domain.com/splash
www.domain.com/about/ または www.domain.com/splash/
これは私がこれまでに持っているものです:
わからない場合は、私は Apache に精通していません (笑)。
.htaccess - .htaccess での循環リダイレクト
次の .htaccess ファイルがあります。
.htaccess ファイルは次のことを行う必要があります (SEO のため)。
- ノーwwwへの変換(
http://www.site.com
なるはずhttp://site.com
) - 末尾にスラッシュがあるすべての URI は、no-trailing-slash に変換する必要があります:
http://site.com/me/
リダイレクトする必要がありますhttp://site.com/me
- を含むすべての URI は、
index.php/index.html
何も変換しないhttp://site.com/admin/index.php
かhttp://site.com/admin/
、最終的に次のように表示する必要があります。http://site.com
ただし、現在のバージョンの .htaccess では、アクセスしようとすると循環リダイレクトが発生します ( http://site.com/admin
)。ブラウザが取得する必要がある実際のドキュメントはhttp://site.com/admin/index.php
.
誰でもこの問題で私を助けてもらえますか?
redirect - ディレクトリが存在しない場合にのみnginxのURLから末尾のスラッシュを削除する方法は?
PHP-FastCGIを使用してnginx 1.4.1でサーバーを実行しています。現在、URL から末尾のスラッシュを削除し、301 リダイレクトを発行するようにセットアップしています。ただし、存在するディレクトリにアクセスすると、強制的にリダイレクト ループに陥ります。現在のドキュメント ルートは次のようになります。
現在、example.com/webgrind やその他のディレクトリにアクセスできません。私のアクセスログは次のように繰り返し読み取られます。
これは私のnginx.confのサーバーブロックです:
私はそれrewrite ^/(.*)/$ /$1 permanent;
が問題のある行であることを認識しています。それを削除して example.com/webgrind にアクセスすると、example.com/webgrind/ はディレクトリであるため、301 が発行されてリダイレクトされます。ただし、私のアプリケーションは、末尾のスラッシュと末尾のスラッシュ以外の両方 (つまり、example.com/users/ と example.com/users) を受け入れるようになりましたが、これは私が望んでいるものではありません。
次のように「if」ディレクティブを書き換えの周りにラップしても、ディレクトリのリダイレクト ループが作成されます ( if は悪のようですが、この場合の書き換えディレクティブは安全と見なされます)。
(webgrind/index.php にアクセスすれば問題が解決することはわかっていますが、本番ディレクトリがライブにプッシュされるときに、コストがかかり専門的でないリダイレクト ループは避けたいと考えています。)
では、存在しないリソース (Web アプリケーションのパス) の末尾のスラッシュのみを条件付きで削除するにはどうすればよいでしょうか?
更新: 私の (変更されていない) fastcgi_params 構成:
asp.net-mvc-4 - 末尾のバックスラッシュを引き起こす IIS7 設定
同じ MVC4 asp.net Web サイトを 2 つの異なる IIS7 サーバーに展開すると、問題が発生します。
私のウェブサイトの「ホーム」ボタンを押すと、1つのボックスで末尾のバックスラッシュが表示され、もう1つのボックスでは表示されません。問題は、末尾のバックスラッシュを追加しないボックスで、jquery オートコンプリートが機能しないことです。バックスラッシュを追加すると、そうです。これは私が望むデフォルトの動作です。つまり、バックスラッシュを使用します。
両方のボックスには同じ web.config を持つ同じ web サイトがあり、どちらの iis サーバーにも URL 書き換えがインストールされていないため、必要がない場合はこのルートをたどりたくありません。あるボックスと別のボックスのiis設定が異なるに違いありませんが、それぞれを試してみましたが、違いに気づきませんでした。誰かがこれを引き起こしている可能性があることを知っているか、正しい方向に私を向けていますか?
どんな助けでも大歓迎です。
同じ分野で他にも質問があることは知っていますが、私の質問に答えるものはありません。
アップデート:
バックスラッシュの原因となる URLのドットに関するスタックオーバーフローに関するいくつかの質問に気付きました。また、末尾のバックスラッシュを追加するサーバーのアドレスにドット/ピリオドがあることにも気付きました。したがって、これが私の問題を引き起こしている可能性があるようです。
正しいことは、両方のボックスに末尾のスラッシュを付けずに機能させることだと思います。だから今私の問題は、私のjqueryオートコンプリートが末尾のバックスラッシュのないアドレスで機能しないのはなぜですか.
質問 re: URL のドットを参照してください
例えば:
trailing-slash - IIS 7.5: 末尾のスラッシュを削除しても機能しない
ASP.NET アプリケーションがあり、web.config に設定されています。
ただし、末尾のスラッシュはまだあります。
また、Global.asax.cs ファイルのコードを使用しようとしました。
しかし、それはうまくいきません。
具体的には、「elki」はプロジェクトのサブフォルダーであり、次のような独自の web.config ファイルがあります。
それを機能させる方法、つまり末尾のスラッシュを削除しますか?