問題タブ [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.

0 投票する
3 に答える
1348 参照

backbone.js - Backbone.js のデフォルト ルートの末尾にスラッシュを付けないようにする

Backbone で達成できることを探しています。これが説明です。

次のようなバックボーンルートがあります

私のルートURLが「/routes」であると仮定します

ここで、「router.navigate('test', {trigger: true});」と言うと、' URL が/routes/testに変わります。

同様の方法で「router.navigate('testing', {trigger: true}); 」を呼び出します。' URL が/routes/testingに変わります。

しかし、' router.navigate('', {trigger: true});を呼び出すと、' URL が/routes/に変わります。

あなたは私がそれを期待していなかったことを知っています / 最後に. 私はそれを通過したことはありません。ルート URL、つまり ' /routes 'に戻っているはずです。

最後に / を追加すると、多くの違い/意味が生まれます。チェックアウト ' http://googlewebmastercentral.blogspot.in/2010/04/to-slash-or-not-to-slash.html '

そのための修正はありますか (つまり、デフォルト ルートの最後に / がありません)?

0 投票する
1 に答える
582 参照

regex - URL に末尾のスラッシュを追加する - 開発と運用は同じルール

URL に末尾のスラッシュを追加するさまざまな方法を試してみました。たとえば、次のようになります。

URL に末尾のスラッシュを追加する

私の本番サイトでは、これは次のルールでうまく機能しています:

しかし、私のローカル開発環境ではうまくいきません。でローカル サイトを実行しているlocalhost:9090ため、 のような URL にアクセスするとlocalhost:9090/users/new/、500 内部サーバー エラーが発生します。

を使用して同様のルールを試しましたが%{HTTP_POST}、これも機能しません。何かが足りないような気がして、Web を検索すると、既に試したルールが引き続き表示されます。

開発と本番の両方で機能するルールを作成する最善の方法は何ですか?

ノート

@anubhava からの素晴らしいアドバイスを受けて、ルールを再編成し、既存のニーズに合ったより良いルールを見つけました。私は最終的に新しい PHP 拡張ルールと彼の推奨事項に行き着き、現在はlocalhost本番環境の両方で機能しています。

0 投票する
1 に答える
2065 参照

.htaccess - 末尾のスラッシュがない場合、Prestashop が正しい言語にリダイレクトされない (つまり、domain.com/fr)

URL の言語の末尾にスラッシュがない場合、prestashop に強制的に追加させるにはどうすればよいですか? たとえば、次のリンクは適切に機能し、正しい言語に移動します。

しかし、これらはしません:

直帰率が上昇する原因となっているため、これを修正するにはどうすればよいですか?

私の .htaccess ファイルは次のとおりです。

どうもありがとう

0 投票する
2 に答える
61 参照

regex - mod の書き換えとスラッシュと $_GET のトラブル

エントリ名でmysqlデータベースからプルされたドキュメントを表示するために書いたphpスクリプトにmod書き換えを使用して、より良いURLを実装しようとしています。私は次のコードを使用し、正常に動作します。

だから基本的に

しかし、書き換えられたリンクから表示されるエントリ名に「/」と「\」が含まれていることに問題があります。

または好き

view.doc.sg1\123 を index.php?doc=sg1\123 に

Ether エンドレス ループが発生するか、404 エラーが発生します。私はモッドの書き換えにかなり慣れていないので、この問題について何か助けていただければ幸いです。

0 投票する
2 に答える
2483 参照

mod-rewrite - ベースタグを動的に設定する方法は?

バックボーン ルーティング、mod_rewrite、requirejs を使用しています。アプリは Web ルートではなくフォルダーにあるため、画像、css、および js ファイルには相対フォルダー参照が必要です (絶対フォルダーを使用できる場合、ファイルが読み込まれます)。

末尾にスラッシュがあるルートにアクセスすると、ヘッダーに適切なベース タグが設定されていない限り、js ファイルと css ファイルのいずれも正しく読み込まれません。そのようです:

このソリューションは機能します。問題は、コードの開発バージョンと製品バージョンを使用できるように、base タグを変数化する必要があることです。ただし、変数を使用して js ファイルをロードしても、ベース タグがないと機能しません。

念のため、バックボーンの標準的な修正を行いました。オプションのスラッシュ (/) を修正します。

そして歴史に根を張る

この問題は、解決できない mod_rewrite の問題のようです。したがって、最終的な考えは、base タグを動的に設定することです。

0 投票する
0 に答える
894 参照

wordpress - サブディレクトリ内のWordPressのフロントページは自動的にリダイレクトされ、末尾のスラッシュがフロントページのURLに追加されますか?

サブディレクトリに WordPress をインストールしています。フロント ページの URL の末尾にスラッシュを付けないでください。WordPress の管理画面で、パーマリンクの末尾にスラッシュがないように設定しました。ただし、この WordPress インストールはサブディレクトリにあるため、末尾のスラッシュはまだフロント ページに表示されていました。そこで、ルート ディレクトリと WordPress インストール ディレクトリにある .htaccess ファイルを操作して、フロント ページからも削除しようとしました。動作していないようで、WordPress がフロント ページに末尾のスラッシュを追加し、PHP 自体のどこかにリダイレクトしている可能性があると思います。/wp-includes/canonical.phpファイル。そのファイルには、常に先頭ページに末尾のスラッシュを追加することを特に言及している行がいくつかありますが、私はそれらをコメントアウトしましたが、末尾のスラッシュはまだ表示されています。

現在のセットアップでは:

  • フロントページを除く WordPress インストールのすべてのページがロードに失敗します -- 代わりに、ホスティングのルートディレクトリにある 404 ページが表示されます
  • /wordpressdirectory/wordpressdirectory/フロントページにリダイレクトして表示します
  • /wordpressdirectory/リダイレクトせず、フロントページも表示します
  • /wordpressdirectory/index.phpにリダイレクトし/wordpressdirectory/、フロント ページも表示します

ルート ディレクトリの .htaccess ファイルは次のようになります。

また、WordPress のインストール ディレクトリにある .htaccess ファイルは空になりました。WordPress に付属するデフォルトの RewriteRules はすべて削除しました。

ただし、念のため、WordPress インストール ディレクトリの .htaccess は次のようになっています (すべてデフォルトで、個人的な編集はまだありません)。

0 投票する
1 に答える
192 参照

php - リダイレクト 404 エラーなしでスラッシュを使用しようとする .htaccess

mydomain.com/something の使用時に 404 エラーとリダイレクトを防止しようとしています。

ページ something.php が存在しないため、404 エラーがスローされます。インデックス ページに送信して、php で値を取得し、アプリで使用できるようにします。また、これを拡張子 (.php) の削除と組み合わせて、まだページにアクセスできるようにしたいと考えています。たとえば、mydomain.com/contact.php の代わりに mydomain.com/contact と入力できるようにしたいが、それでも mydomain.com/something を使用して、ページに何かが存在しない場合はそれをインデックス ページに送信できるようにしたい.

うまくいけば、私はさまざまなことを試してみましたが、何も機能していないようです。私が得ることができた最も近いものは、次のhtaccessコードを使用することでした:

ただし、ファイルが存在せず、値をインデックスページにスラッシュとして送信したいだけの場合、機能せず、ハングして最終的に 404 がスローされるようです。