問題タブ [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 - RedirecMatch または RewriteRule を使用した .htaccess 301 リダイレクト
Google で発生している一部のクローラー エラーを修正するために、.htaccess を使用して 301 リダイレクトを作成しようとしています。Google が古いバージョンの URL を使用しているため、スパイダーがレガシー パスにアクセスしようとするとエラーが発生します。これらの従来の URL にはスペースが含まれており、その多くが URL 文字列内の異なる場所に表示されていました。たとえば、URL は次のようになります。
これらの URL は、特に最終的にはすべて同じコンテンツを表示するため、不必要に長くなります。それらは現在、次のように短縮されています。
これらは文字通り 1,000 以上ありますが、URL の末尾の順列は 6 つしかないため、RedirectMatch または RewriteRule のいずれかを使用して、これらの 6 つの順列のいずれかが存在するかどうかを簡単に照合し、適切な新しい URL にリダイレクトできると考えました。私は次のことを試しました:
としても:
これらは機能していません。正規表現文字クラスの代わりに \ でスペースをエスケープする、正規表現の先頭を ^.*/?773 に変更するなど、さまざまなオプションを試しましたが、何も機能しません。
http://www.regular-expressions.info/javascriptexample.htmlで正規表現テスト機能を使用しましたが、正規表現が有効であることが報告され、期待する URL に対して一致が生成されますが、.htaccess はリダイレクトされません。私が期待するように。
次のようにプレーンなリダイレクトを使用できます。
これは機能しますが、car-kits-halogen-aircon-oil が存在する場合にのみ一致し、その URI セグメントにはおそらく 200 の順列があり、すべての可能な順列を手動で入力するのは大変な作業になるため、問題があります。
助言がありますか?私がやろうとしていることは可能ですか?
.htaccess - .htaccessでmod_rewriteとmod_alias(リダイレクト301)を一緒に使用しますか?
CMSに配置された古い.htmlページと.phpページのセットを含むサイトがあります。
現在、.htaccessファイルには、次の形式で約30のmod_aliasリダイレクトがあります。
ただし、mod_rewriteを使用してCMSにきれいなURLを設定したいhttp://www.example.com/pagename.php
ので、次の形式も使用します。
現在、両方が一緒に適用されているため、次のようになります。
mod_aliasリダイレクト301ステートメントによって一致が行われなかった場合にのみ書き換えルールを適用して、次のようにするにはどうすればよいですか。
http://www.example.com/oldpage1.html
http://www.example.com/newpage1.php
-> ->として扱われる->->に
リダイレクトし
ます->http://www.example.com/index.php?page=/newpage1.php
何かヒントをいただければ幸いです。ありがとう。
.htaccess - mod_alias のみを使用して、.htaccess 経由でディレクトリの http を https にリダイレクトする
ユーザーのログイン資格情報が安全な方法で送信されるように、アクセスが制限された特定のディレクトリへの要求を http から https にリダイレクトしたいという共通の問題があります。
ただし、サーバーで mod_rewrite を有効にしていません。私はmod_aliasしか持っていません。これは、RedirectMatch コマンドを使用する必要があることを意味します。RewriteCond と RewriteRule を使用する通常のソリューションは使用できません。
(政治についてのメモ: 私は非常に大きな組織の小さなサブサイトのメンテナーであるため、サーバー管理者が私のためにサーバー構成を変更することをいとわないでしょう!)
次の行は機能しますが、無限ループを形成します (書き換えられた URL が最初の正規表現によってまだ捕捉されているため)。
社内の IT 担当者の 1 人が、ファイルを新しい名前 (/intranet2/ など) の新しいディレクトリに移動することで、無限ループを回避することを提案しました。それは私にはかなり醜いようです。また、 http://example.com/intranet2/に直接アクセスすることで、偶発的または故意に安全でない接続に戻る可能性があります。
次に、これを試しましたが、うまくいきませんでした:
最初の引数はルート ディレクトリからのファイル パスでなければならず、"http:" で開始できないため、機能しなかったと思われます。
だから:これを行うためのより良いアイデアはありますか?
regex - mod_alias リダイレクトのヒント
全て。サイトを検索しても答えが見つからないので、投稿します。
このようにURLをリダイレクトしたい
example.com/css/.... ====> example.com/templates/css/...
example.com/path/css/.... ====> example.com/path/templates/css/...
私は定期的にたくさん疲れましたが、私は望んでいません。そのような
最後のレギュラーがおそらく正しいと思います。ただし、定期的に遅延モードに設定する必要があります。mod_alias と mod_rewrite に関する apache ドキュメントを見つけましたが、このヒントについての話は見つかりませんでした。
助けが必要。ありがとう !
php - mod_rewrite が Alias ディレクティブと競合する
私の主な Web サイトは PHP/Zend Framework を使用しており、.htaccess が一般的なものです。
次に、(別のディレクトリにある) フォーラムをメイン サイトに移動する必要があります。VirtualHost 内に Alias ディレクティブを追加しました
フォーラム ソフトウェアは独自の .htaccess を使用します。メイン URL /forums にはアクセスできますが、他の URL にはアクセスできません。他の URL (対応するファイルがないもの) は、メイン サイトに転送されます。つまり、/forums ディレクトリ配下のファイルではなく、メイン サイト (/) の .htaccess ファイルがピックアップされます。
apache - Apache リダイレクトに関する質問 - mod_rewrite または mod_alias
特定のニーズがあります:
example.com/store/{location} は example.com/store2/{location} にリダイレクトする必要があります
そして、これはURLの「書き換え」だけでなく、リダイレクトする必要があるので、mod_aliasが必要だと思いますよね?正しいコードを共有したい人はいますか? 私は mod_rewrite と mod_alias の両方について少し曖昧です。(私はこれを正しく尋ねたと思います)ありがとう!!
apache - mod_aliasリライトが機能しませんか?
私は2つのサーバーを持っています:
Apache / 2.2.14(古いサーバー)を実行しているFedora
Apache / 2.2.3(新しいサーバー)を実行しているCentO
私はかなり前からこの書き換えルールを使用しており、古いサーバーで絶対的な成功を収めています。
しかし、新しいサーバーでは、このメッセージで惨めに失敗します[alert] [client 192.168.0.5] /home/yoursite/www/.htaccess: Redirect to non-URL
ドキュメントを確認しています...古いサーバーはルールをそのまま受け入れるべきではなく、新しいサーバーはそれを受け入れるべきであることがわかりました。どちらもまったく同じhttpd.conf
ファイルを実行しています。
これを修正する方法を理解しています(http:// ...のページにリダイレクトするだけです)以前のバージョンのApacheを使用して古いサーバーで機能する理由がわかりません(そもそも)、新しいサーバーでは機能しません(実際には機能するはずです)。
誰かが同じような経験をしましたか?
mod-rewrite - パラメータを使用して URL をリダイレクトする方法は?
既存のページに mod_rewrite を統合しようとして、完全に途方に暮れています。現在、私は新しいサイトをゼロから構築しています。そこには、次のようなきれいな URL があります。
Cms made simple を実行している古いサイトには、新しいページにリダイレクトする必要がある書き換えられていない URL がいくつかあります。これらの URL は次のようになります。
しかし、そのような短いバージョン:
も働きます。
通常のように、パラメーター付きの URL を「リダイレクト 301」で単純にリダイレクトできないことを理解するのにしばらく時間がかかりました。そこで、 thisやthisなどのオンラインの mod_rewrite ジェネレーターをいくつか試しましたが、それらによって出力されたルールは 404 エラーしか発生しません (リダイレクトはまったく機能しません)。
現在の .htaccess ファイルは次のようになります。
古いページが存在するようになります。古いページを新しいページにリダイレクトするにはどうすればよいですか?
ありがとう。
編集
トリックを行うようです。もちろん、これはすべての URL の手動ですが、私はいくつかしか持っていません。
apache - URLのワイルドカード(mod_aliasまたはmod_rewrite)
mydomain.com/whatever
「whatever」は任意の文字列にすることができるなどのURLが必要です。すべて、同じphpファイルを呼び出して、表示するものを分類します(または404を表示します)。ただし、ファイルやその他のphpファイルを正常に機能させたい(他の方法でエイリアス化されているもの、またはファイルシステムに実際に存在するもの)。
単純なAliasMatch /* myphpfile.php
(httpd.conf内の他のすべてのエイリアスの後)私自身のセットアップでは正常に機能しますが、実稼働サーバーでは、ワイルドカードエイリアスが他のすべてのphpファイルをに送信しますmyphpfile.php
。他に何が混乱しているのかわかりません。
技術的には、whatever
文字列はアルファベットと小文字になるので、それをフィルタリングできますが、正規表現で行ったすべての試みは成功していません。
apache - Apache ErrorDocument 絶対パス
ドメインとそのすべてのサブドメインに同じ 404 ErrorDocument を使用しようとしています。サブドメインはすべて、/var/www/ パスに独自のディレクトリがあります。
Apache ErrorDocument ディレクティブは相対パス (現在のディレクトリからの相対パス) を想定していますが、すべてのディレクトリ/サブドメインから /var/www/ErrorPages/404.html に移動したい
ここで 2010 年に尋ねられた同様の質問がありますが、解決策について詳しく説明していません。Alias を試してみましたが、やりたいことができませんでした。
例 1:http://example.com/doesnotexist.txt
要求されたファイル
->/var/www/mervin/ErrorDocuments/404.html
応答として表示
例 2:http://subdomain.example.com/otherimaginaryfile.txt
要求されたファイル
->/var/www/ErrorPages/404.html
応答として表示
仮想ホスト:
どうすればこれを行うことができますか?
その他の情報: Apache2.2、MOD_ALIAS が動作、MOD_REWRITE が動作、シンボリック リンクが有効