-1

RewriteMap を .htaccess ファイルで使用する前に、最初に定義する必要があることを知っています。しかし、共有ホスティングでそれができるかどうかはわかりません。サーバー上で自分で行う方法はありますか?

私がやりたいのは、大文字の URL を小文字にリダイレクトすることです。私は .htaccess でそれをやろうとしています (他の実行可能な代替手段がある場合は、それを説明してください)。しかし、RewriteMap を使用しようとすると、許可されていないと表示されます。最初に定義する必要があることを学びました。そのため、サーバー上で自分でできるかどうかを知る必要があります。

それについてホストやテクニカル サポートに尋ねるような回答はしないでください。私はそれをするつもりです。でもその前に、これについての情報を得たいと思います。多くの場合、技術チームは十分ではありません。私たちは彼らよりも多くの知識を持っている傾向があり、意図的または無意識に誤った情報を提供していることがよくあります. また、同様の質問をしている他の人にも答えてもらいたいです。だから私はこの質問を投稿しています。

また、RewriteMap を使用せずにこのリダイレクトを行うという提案も受け付けています。リダイレクトを行ういくつかのルールを見てきましたが、適切ではありませんでした。それらにはいくつかの問題がありました。

どんな助けでも大歓迎です。

ありがとうございました。

4

1 に答える 1

0

RewriteMap を定義できませんでしたが、大文字の URL を小文字にリダイレクトするという問題は解決されました。

サポートチームが提供する解決策は次のとおりです。解決策を提供してくれた Alex に感謝します。

私はそれをテストし、うまくいきました。これが他の人にも役立つことを願っています。

同様の解決策を見ましたが、それは適切に機能せず、誰かがパフォーマンスの問題について警告しました。RAMを使いすぎたと言われています。誰かがこれでパフォーマンスの問題を見つけた場合は、それについてコメントしてください。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]
RewriteRule ![A-Z] - [S=28]
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2
RewriteRule [A-Z] - [N]
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]
</IfModule>
于 2018-08-03T09:58:58.670 に答える