問題タブ [mod-speling]
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.
apache - mod_speling と mod_rewrite を連携させるには?
CheckSpelling On
(mod_speling) は の場合に正常に動作しますwww.example.com
。ただし、書き換えが行われると機能しません。たとえば、/home/test/www/index.html
ファイルがあります。実行するtest.example.com/INDEX.html
と に修正されませんtest.example.com/index.html
が、実行するとwww.example.com/INDEX.html
(/home/www/
フォルダがありません) に修正されwww.example.com/index.html
ます。
最初に mod_rewrite を処理しているようで、rewrite を使用すると、スペル チェックを実行しません。モジュールをさまざまな順序でロードしようとしましたが、うまくいきませんでした。
apache - Apache mod_speling の大文字と小文字を区別しない URL の問題
Apache のモジュールを使用して大文字と小文字を区別しない URL を使用したいのmod_speling
ですが、これは「複数のオプション」の不要なリストを生成していますが、Apache のドキュメントには次のように書かれています。
設定すると、このディレクティブはスペル修正のアクションを小文字/大文字の変更に制限します。その他の潜在的な修正は実行されません。
Apache 2.2.16 Unix の新規インストールでこれをテストしていますが、2008 年に提出されたものとまったく同じ問題が発生しています。
checkCaseOnly ディレクティブがオンのときに Apache がいくつかの「複数の選択肢」(ステータス コード 300) をリストするとき、これは予期しない (そして望ましくない) 動作です!
私はこれを持っていますhttpd.conf
:
mod_speling
大文字と小文字の修正のみに制限する 2 番目のディレクティブを使用する最初のディレクティブ
私は何を間違っていますか?
mod-rewrite - mod_speling内部リダイレクト、またはmod_rewriteでキャップを処理する方法
私はこのルールを持っています:
アイデアは、コードのモジュール内に存在するパブリックアセットへのアクセスを許可することです。唯一の問題は、命名スキームにタイトルケースが必要なことです(これは変更できないと仮定しましょう)。したがって、次のような要求があります。
404を返しますが、:
動作します。
ケーシングの問題に対処するためにmod_spelingを使用しようとしましたが、mod_spelingは内部リダイレクトではなく完全リダイレクトを実行するため、エンドユーザーへのURLは次のように変更されます。
これは良くありません。これは、私のディレクトリ構造がいくらか公開されていることを意味し、これを通過させるために追加の書き換えルールが必要であることを意味します。
mod_rewriteの大文字化をより適切に、つまりRewriteMapを使用せずに処理する方法はありますか?(すべてを.htaccessに保持する必要があります)
または、内部リダイレクトを使用するようにmod_spelingを変更する方法はありますか?
php - 新しいDrupalサイトへの大文字の外部リンクは404を取得します
私はかなり大きなサイトを持っており、サイトビルダーはすべての内部パスを自動的に小文字に設定しています(ページ自体、メニューなど)。現在、サイトの新しいD7バージョンでは、数百から場合によっては1,000以上のノードの古い(大文字の)バージョンにリンクしている他のサイトがあります。
したがって、へのリンクは正常にhttp://www.example.com/alzheimers
機能しますが、手動で入力するhttp://www.example.com/Alzheimers
と、カスタム404に移動します(Drupalテーマにメッセージが表示されます)。古いURLへの外部リンクがたくさんある視認性の高いサイトであるため、これは問題です。
/Alzheimers
サイトビルダーはまた、手動で→のリダイレクトを入力しようとし/alzheimers
ました。もちろん、これにより、無限のリダイレクトループ、ブラックホール、ゾンビ戦争などが発生しました。
私はこれをapache"mod_speling"で処理しようとしましたが、成功しませんでしたが、このmodの経験は豊富ではありません。何かが足りないのではないかと思います/大文字の変更には特定のルールが必要ですか?私が従った手順では、modを有効にしてApacheを再起動しました。それは役に立たなかった。
hook_init
したがって、テーマ( ?)にフックして、要求されたURLを取得し、文字列を低く設定するために小さなPHPを投入する必要があるかどうか疑問に思っています。何か案は?コーディングに問題はありませんが、これを処理する簡単な方法があれば、どんな助けでも大歓迎です。
これは、Windows用に作成され、DrupalまたはLAMPに転送される一般的なサイトでは一般的な問題であるため、これを修正する必要がある最初の人になることはできません。
カスタムDrupalコードが必要な場合、このようなものにフックするのに最適な場所はどこですか?
apache - mod_spelingで大文字と小文字が区別されないことが期待どおりに有効にならない
2つの別々のVPSアカウントでUbuntu12を実行していますが、両方で同じ問題が発生しています。
「a2enmodspeling」を介してspelingモジュールを有効にしました。
/ etc / apache2 / mods-availableにspeling.loadとspeling.confの両方があり、どちらも/ etc / apache2/mods-enabledでエイリアス化されています。
cat speling.conf
「CheckSpellingon」を生成し、cat speling.load
「LoadModulespeling_module/usr/lib/apache2/ modules/mod_speling.so」を生成します。また、/ usr / lib / apache2 /modules/に実際に「mod_speling.so」が含まれていることも確認しました。
Apacheを繰り返し再起動しました。
それでも、URL内の単語の大文字を間違えると、404が返されます。「CheckSpellingon」はこれを排除するためのものではありませんか?おそらく私は誤解しました。
私はいくつかの愚かなステップを逃したと確信していますが、何を考えることができません。
apache - Apache mod_spelingが誤ってURLを「修正」していますか?
私は古い動的WebサイトをWindowsサーバーからLinuxに移動するという任務を負っています。このサイトは当初、大文字と小文字を区別せずに作成されました。一部のファイル名はすべて大文字、一部は小文字、一部は混合でした。もちろん、これはWindowsでは問題になりませんでしたが、現在、大文字と小文字を区別するファイルシステムに移行しています。
クイック検索/名前変更コマンド(別のチュートリアルのおかげで)を使用すると、ファイル名がすべて小文字になります。
ただし、コード内のURL参照の多くは、これらの大文字と小文字が混在するファイル名を指しているため、この問題を解決するためにmod_spelingを有効にしました。1ページを除いて、ほとんどの部分で問題なく動作しているようです。ファイル名haematobium.html
があり、リンクが指すたびに、ブラウザの.../haematobium.html
ように書き換えられます。.../hæmatobium.html
そもそもこの奇妙な文字がどのようにファイル名に組み込まれたのかはわかりませんが、HTMLドキュメントのコードを修正して、にリンクするようにしhaematobium.html
、ファイル自体の名前を変更しhaematobium.html
て一致させました。
.../haematobium.html
Chromeでリクエストすると、アドレスバーに「修正」され、「リクエストされたURLがこのサーバーで見つかりませんでした.../hæmatobium.html
」というエラーが表示されます。.../hæmatobium.html
IE9では、ログイン(これは.htaccessで保護されたページです)を求められ、それを入力してから、URLをに転送すると.../h%C3%A6matobium.html
ロードされません。
私の欲求不満の中で、私はhaematobium.html
両方hæmatobium.html
にコピーしましたhæmatobium.html
が、それでも、3つのページのどれも実際にはロードされません。
だから私の質問:mod_spelingがスペルミスのあるURLを「学習」しようとしていることをどこかで読んだ。それは実際にファイルの名前を変更しますか(奇妙な文字が由来している可能性があります)?呼び出されたものと転送されたもの(クリアできるキャッシュ)のキャッシュを保持していますか?
PS。MySQLデータベースのテーブルとフィールドへの大文字と小文字が混在する参照も多数ありますが、それはまったく別の悪夢です。
apache - Linux サーバーで URL の大文字と小文字を区別しないようにするにはどうすればよいですか
Linux サーバーにデプロイされた Web サイトを扱っています。私はそれに対して行う小さな変更があります。フォルダがありますread
。要件は、URL を入力するlocalhost:80/tom/Read
か../READ
、フォルダー内/read
に移動する必要があることです。read.php
read
ルート ディレクトリの下にファイル .htaccess を作成しました。ここに記載されているページを参照して、ファイルに次のコードの記載を配置しまし た
しかし、それは機能していません。
私はLinux環境が初めてです。mod_speling についてはわかりません。それはファイルですか?Linux サーバーのどこに配置されますか?
apache - Apache mod_speling PHP フレームワーク
Apache の mod_speling モジュールを有効にしていますが、小文字の URL が正しく機能しません。これはUbuntuで実行されています。
例:localhost/controller
ファイル名はController.php
.
と入力すると動作しlocalhost/Controller
ます。
小文字バージョンを使用するように Apache を設定する方法はありますか?
mod_speling の私の構成:
wordpress - .htaccess、WordPress、および mod_speling
ルート ディレクトリに多数のサブディレクトリがあり、そのうちの 1 つに WordPress があるサーバーがあります。
WordPress を除くこれらはすべて Windows サーバーから Linux サーバーに移行されたため、大文字と小文字を区別しなくなりました。
WordPress が のような URL を提供できるようにしたいhttp://www.example.com/~subdomain
ので、ルート ディレクトリにインデックス ファイルがあります。また、2 つの .htaccess ファイルがあり、1 つは WordPress に、もう 1 つはルート ディレクトリにあります。
以下は、ルート ディレクトリの .htaccess です。ここに mod_speling の大文字と小文字を区別しないディレクティブを配置したいのですが、書き換え規則と競合します。
以下は、WordPress サブディレクトリの .htaccess です。
ルート ディレクトリでシンボリック リンクを使用して、WordPress ディレクトリの index.php を指すようにしました。シンボリックリンクを DirectoryIndex に設定しましたが、残念ながら多くのリンクが 404 に変わります。
この時点で、私はちょっと立ち往生しています。何か案は?