問題タブ [mod-alias]
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.
.htaccess - .htaccess リダイレクトとパスのロジック
古い URL を新しい場所にリダイレクトする際に問題が発生しました
問題には、次のような URL が含まれていました。
問題は次のとおりです。
最初の URL (1) をリダイレクトすると、2 番目と 3 番目の URL (2 と 3) が 1) リダイレクト (つまり、http://domain.com/somecategory/newurl-for-this-page.html )にリダイレクトされます。
2 番目と 3 番目が 1 番目のディレクティブに従った理由を理解したいのですが?
暫定的な解決策は、最初のリダイレクトを放棄することでした。そのため、cleint が古い URL 1 を要求すると、404 エラーが発生します。
.htaccess でこれを解決する方法はありますか?
なぜこうなった?
同じパスで終わる 3 つの URL を持つロジックは何ですか?
すなわち
oneword-THIS-PATH.html
twoword-THIS-PATH.html
thrreword-THIS-PATH.html
同じ .htaccess ファイルからリダイレクトされていますか?
ありがとうございました
redirect - 特定の URL の http から https への apache リダイレクトを設定する
/test を持つ URL パスをhttps://localhost/testにリダイレクトしたいと思います。また、URL が /test?user=123 の場合はhttps://localhost/test?user=123にリダイレクトする必要があります。URL が /test/test_db/user?id=123&pwd=123 の場合は、https://localhost/test/user/test_db/user?id=123&pwd=123にリダイレクト
あらゆる種類の他のすべての要求は、ルート フォルダー (http://localhost/accessdenied.html) で「アクセスが拒否されました」と表示されている html ページにリダイレクトする必要があります。
Apache で RedirectMatch を使用してこれを達成するにはどうすればよいですか。私は次のようなものを試しました
うまくいきませんでした。
apache - vhost で apache mod_alias を使用して外部サーバーからアセットをリンクする
これは私が知っている屋外ショットです。私は、明らかな理由でリポジトリから除外されている資産を常に変更しているサイトをサポートしています。現在、適切に開発およびテストするために、これらのアセットをローカル コンピューターに FTP で送信する必要があります。私がやりたいことは、サーバー上のアセットにリンクすることだけです。これはApacheのmod_aliasを使用して可能かもしれないと思っていましたが、うまくいきません:
これは可能ですか?これを行う別の方法はありますか?
ありがとう
apache - Apache2のAliasの場合、RewriteRuleは失敗します
それで、私はより良い開発のために私のプロジェクトを組織したかったのです。私はこの方法を使用してフォルダーとファイルを整理することを選択しました。
各プロジェクトのWebサイトは、その「web」フォルダー内に配置されます。また、「web」フォルダ名を入力せずにブラウザでWebにアクセスしたかったので、次のようにします。
/ etc / apache2 / sites-available/defaultファイルに次の行を追加することを達成しました。
完璧に動作します。問題は、一部のWebサイトで、いくつかのRewriteRuleルールを含む.htaccessファイルがあることです。例:
彼らはエイリアスなしで動作し、通常にアクセスしていました。今ではそうではありません。URL /project1/web/styles_20120107.cssにリダイレクトされますが、もちろん、エイリアスが原因でブラウザはそれを取得できません。私はそれを解決する方法を本当に知りません。それについて助けてもらえますか?可能であれば、.htaccessではなく、ファイル/ etc / apache2 / sites-available / defaultで変更を行います。これは、Webサイトをクロスサーバーにするためです。
前もって感謝します :)
apache - mod_alias と mod_rewrite は一緒に動作しません
ここには同様の質問がたくさんあることは知っていますが、残念ながら、私が抱えている問題を解決するものはありません。エイリアスもある場合に書き換えルールが機能しない理由を解明しようとしています。以下は、問題の原因となっている状況の説明です。
使用できるサブドメインが限られているため、同じサブドメインに含めたい多くの Zend Framework アプリケーションがあり、また、デモンストレーション/チュートリアルとして行ったすべてのプロジェクトのサイトを作成したいので、それらすべてを持つことは理にかなっています一つの場所へ。多くの Web アプリケーション/MVC ソリューションと同様に、Zend Framework は、各アプリケーションが独自のドメインまたはサブドメインに配置されるように設計されています。したがって、フォルダーをサブドメインのようにサイト/Web アプリケーションにするソリューションを探しています。これは私が現時点で持っているものです。
デモ用にサブドメインを C:/Apache2/htdocs/demos に設定し、その中にパブリック フォルダーをドキュメント ルートとして配置します (zend フレームワークは、パブリック フォルダーをドキュメント ルートとして使用し、アプリケーションを作成するアプリケーションのような他のフォルダーをその上に配置します)。これは、ユーザーがアクセスしてはならないファイルにアクセスできないようにするためのセキュリティ上の理由によるものです)。また、demos.example.com サブドメイン内のフォルダーとして保持したいアプリケーション用の C:/Apache2/htdocs/zf-basic-project もあります (ここでも、ドキュメント ルートとして public フォルダーがあります)。
demos サブドメインの仮想ホストは次のようになります。
この半分は私が望むことをします。エイリアスは、zf-basic-project プロジェクト フォルダーのパブリック フォルダーを参照するため、zf-basic-project を demos.example.com/zf-basic-project に表示し、コードは上のフォルダー レベルのファイルを使用して検索します。使用する必要があるすべてのファイル。C:/Apache2/htdocs/zf-basic-project/public に実際にあるようなものです。次に、ディレクトリ セクションでファイルを使用するためのアクセス許可を設定します。私は、書き換えルールをディレクトリに配置し、.htaccess ファイルを許可しないことを選択しました。これにより、プロジェクトの .htaccess ファイルを調整して書き換えルールを追加する必要がなくなります (元のプロジェクトを変更しないでください)。
私が抱えている問題は、zf-basic-project が独自のサブドメインになるように作成されたため、/css/default.css などの絶対パスを介して CSS のようなものを参照し、現在は demos サブドメイン内のフォルダーになっているためです。ブラウザは、これが実際には /zf-basic-project/css/default.css にあることを認識しているため、/zf-basic-project/css が実際にはコードである /css であるとディレクトリに書き直そうとしました:
これは、リンクが /zf-basic-project で始まらない場合、それを URL に追加することを示しています。通常のプロジェクトでは機能しますが、エイリアスと衝突するように見え、機能しません。また、何もしないように見える適切な測定のために RewriteBase も追加しました。残りの書き換えは、アプリケーションがフォルダー内で実行されるときに機能しますが、リンクが間違っているため、CSS、JavaScript などが欠落しています。書き換えルールを機能させるための修正を知っている人はいますか。つまり、/css は /zf- として扱われます。基本プロジェクト/css.
もちろん、CSSなどへのすべてのリンクをやり直すこともできますが、これはデモンストレーションであり、通常はサブフォルダーにないため、プロジェクトを元の状態とまったく同じように保ちたいため、これを行いたくありません。物事を明確にするために、物事をできるだけ変更しないでおく方が良いでしょう。
事前に助けてくれてありがとう.
Ps。興味のある方のために、デモ サブドメインに含めたい Zend Framework プロジェクトは、https://github.com/paulalbinson/zf-basic-projectの GitHub にあります。
.htaccess - 最初のリダイレクト後にリダイレクト301が機能しない
.htaccessファイルで次のものを使用していますが、正しく機能していないようです。
トップユーザーページは正常に機能しているようです。/loginまたは/registerに直接アクセスすると正常に機能しますが、リダイレクトが機能しません。リダイレクトページ名の前にスラッシュを追加しようとしましたが、間違ったパスが表示され、見つからないと表示されます。
何か案は?
編集:
アップデート:
私が使用した最終的なコードは、JonLinの助けに感謝して以下のとおりでした。
apache - エイリアス 403 は Apache で禁止されています
ドキュメントルートの外にあるそのフォルダーに、week7という名前のフォルダーとhello.htmlという名前のhtmlページを作成し、エイリアスディレクティブを介して表示しようとしています。
ドキュメント ルートから week7 という名前のフォルダーを作成しました。私はそれのためにこの場所を選びました:
私のドキュメントルートは次のとおりです。
httpd.conf とタグの下に、次のように書きました。
サーバーを再起動した後、次のメッセージを受け取りました: Forbidden 403 message.
hello.html ファイル、week7 フォルダー、さらには www フォルダーのアクセス許可を変更しようとしましたが、何も変わりませんでした。
何か案は?
php - サーバー名を入力するだけでアプリケーションを開くにはどうすればよいですか?
私はいくつかのアプリケーションを持っているサーバーを持っています。サーバーがabc.corp.comであるとしましょう。これには、アプリケーションxyz pqr mnoなどがあります。今日、アプリケーションは次のようにアクセスされます。
abc.corp.com/xyz abc.corp.com/pqr abc.corp.com/mno
これらのうち、abc.corp.comと入力するだけでアプリケーションxyzを開き、残りのアプリケーションを正常に開くようにします。
私のサーバーはApacheであり、その中にphpアプリケーションがあります。私はエイリアスを読んだことがそれをするのを助けることができます。しかし、私がそれをどのように正確に達成できるかは明らかではありません。
apache - mod_aliasなしで(301)単一ページをリダイレクトしますか?
mod_aliasなしで.htaccessの単一ページのパーナメントリダイレクト(301)を作成するにはどうすればよいですか?
fe
http://www.example.com/oldpage- > http://www.elpmaxe.com/newpage
apache - Alias ディレクトリを書き換える
最初に Alias フォルダーを使用して、プロジェクト ファイルを とは別の場所に保存し、次にこの要求に対してDocumentRoot
を実行しようとしています。ただし、ファイルmod_rewrite
を解析していないようです。.htaccess
これは私の Alias ファイルの内容です:
これは私の.htaccess
ファイルです:
エイリアスを削除すると、すべて正常に動作します。