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

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

.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 の順列があり、すべての可能な順列を手動で入力するのは大変な作業になるため、問題があります。

助言がありますか?私がやろうとしていることは可能ですか?

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

.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.htmlhttp://www.example.com/newpage1.php-> ->として扱われる->->に リダイレクトし ます->http://www.example.com/index.php?page=/newpage1.php

何かヒントをいただければ幸いです。ありがとう。

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

.htaccess - mod_alias のみを使用して、.htaccess 経由でディレクトリの http を https にリダイレクトする

ユーザーのログイン資格情報が安全な方法で送信されるように、アクセスが制限された特定のディレクトリへの要求を http から https にリダイレクトしたいという共通の問題があります。

ただし、サーバーで mod_rewrite を有効にしていません。私はmod_aliasしか持っていません。これは、RedirectMatch コマンドを使用する必要があることを意味します。RewriteCond と RewriteRule を使用する通常のソリューションは使用できません。

(政治についてのメモ: 私は非常に大きな組織の小さなサブサイトのメンテナーであるため、サーバー管理者が私のためにサーバー構成を変更することをいとわないでしょう!)

次の行は機能しますが、無限ループを形成します (書き換えられた URL が最初の正規表現によってまだ捕捉されているため)。

社内の IT 担当者の 1 人が、ファイルを新しい名前 (/intranet2/ など) の新しいディレクトリに移動することで、無限ループを回避することを提案しました。それは私にはかなり醜いようです。また、 http://example.com/intranet2/に直接アクセスすることで、偶発的または故意に安全でない接続に戻る可能性があります。

次に、これを試しましたが、うまくいきませんでした:

最初の引数はルート ディレクトリからのファイル パスでなければならず、"http:" で開始できないため、機能しなかったと思われます。

だから:これを行うためのより良いアイデアはありますか?

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

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 ドキュメントを見つけましたが、このヒントについての話は見つかりませんでした。

助けが必要。ありがとう !

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

php - mod_rewrite が Alias ディレクティブと競合する

私の主な Web サイトは PHP/Zend Framework を使用しており、.htaccess が一般的なものです。

次に、(別のディレクトリにある) フォーラムをメイン サイトに移動する必要があります。VirtualHost 内に Alias ディレクティブを追加しました

フォーラム ソフトウェアは独自の .htaccess を使用します。メイン URL /forums にはアクセスできますが、他の URL にはアクセスできません。他の URL (対応するファイルがないもの) は、メイン サイトに転送されます。つまり、/forums ディレクトリ配下のファイルではなく、メイン サイト (/) の .htaccess ファイルがピックアップされます。

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

apache - Apache リダイレクトに関する質問 - mod_rewrite または mod_alias

特定のニーズがあります:

example.com/store/{location} は example.com/store2/{location} にリダイレクトする必要があります

そして、これはURLの「書き換え」だけでなく、リダイレクトする必要があるので、mod_aliasが必要だと思いますよね?正しいコードを共有したい人はいますか? 私は mod_rewrite と mod_alias の両方について少し曖昧です。(私はこれを正しく尋ねたと思います)ありがとう!!

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

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を使用して古いサーバーで機能する理由がわかりません(そもそも)、新しいサーバーでは機能しません(実際には機能するはずです)。

誰かが同じような経験をしましたか?

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

mod-rewrite - パラメータを使用して URL をリダイレクトする方法は?

既存のページに mod_rewrite を統合しようとして、完全に途方に暮れています。現在、私は新しいサイトをゼロから構築しています。そこには、次のようなきれいな URL があります。

Cms made simple を実行している古いサイトには、新しいページにリダイレクトする必要がある書き換えられていない URL がいくつかあります。これらの URL は次のようになります。

しかし、そのような短いバージョン:

も働きます。

通常のように、パラメーター付きの URL を「リダイレクト 301」で単純にリダイレクトできないことを理解するのにしばらく時間がかかりました。そこで、 thisthisなどのオンラインの mod_rewrite ジェネレーターをいくつか試しましたが、それらによって出力されたルールは 404 エラーしか発生しません (リダイレクトはまったく機能しません)。

現在の .htaccess ファイルは次のようになります。

古いページが存在するようになります。古いページを新しいページにリダイレクトするにはどうすればよいですか?

ありがとう。

編集

トリックを行うようです。もちろん、これはすべての URL の手動ですが、私はいくつかしか持っていません。

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

apache - URLのワイルドカード(mod_aliasまたはmod_rewrite)

mydomain.com/whatever「whatever」は任意の文字列にすることができるなどのURLが必要です。すべて、同じphpファイルを呼び出して、表示するものを分類します(または404を表示します)。ただし、ファイルやその他のphpファイルを正常に機能させたい(他の方法でエイリアス化されているもの、またはファイルシステムに実際に存在するもの)。

単純なAliasMatch /* myphpfile.php(httpd.conf内の他のすべてのエイリアスの後)私自身のセットアップでは正常に機能しますが、実稼働サーバーでは、ワイルドカードエイリアスが他のすべてのphpファイルをに送信しますmyphpfile.php。他に何が混乱しているのかわかりません。

技術的には、whatever文字列はアルファベットと小文字になるので、それをフィルタリングできますが、正規表現で行ったすべての試みは成功していません。

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

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 が動作、シンボリック リンクが有効