2017-02-10 5 views
-4

.htaccessファイルに書き直しを設定してください。ここで私は再書き込みがしたいの例のURLです:Htaccessリライトガイダンス

www.domain.com/img/another-folder/500x700.jpg?w=500&h=700

あなたは、私が.jpgファイルに直接リンクをご覧や変数whに寸法を保存することができます。私は完全にwww.domain.com後にすべてのものを削除し、ちょうど私が格納された変数を維持したいので、それは次のようになります。

www.domain.com/500/700

これを行うための最善の方法は何ですか?

すべてのお手伝いが大変ありがとうございます。ありがとう!

+2

最良の方法は、そのためのRewriteRuleを実装することです。 '.htaccess'スタイルのファイル、またはhttpサーバのホスト設定のいずれかであることが好ましい。私はあなたが使いたいツールのドキュメントを読むことから始めることをお勧めします:http://httpd.apache.org/docs/current/mod/mod_rewrite.htmlそれは優れた品質であり、素晴らしい例があります。ありがとう@arkascha。 – arkascha

+0

私はすでにRewriteRuleが必要だと知っていた。それは私が援助を求めていることです。私はこれらの非常に混乱しているドキュメントを読んでいますが、答えがあれば誰でも助けになるでしょう! –

+0

SOは無料のコーディングサービスではありません。あなたは自分自身で話題について学び、自分で試してみることができ、質問をするときにこれまでに持っていたことを提示することが期待されます。とにかく、下を見て、簡単な解決方法をタイプしました。 – arkascha

答えて

1

これは、あなたが求めるものの直接の実装次のようになります。

RewriteEngine on 
RewriteRule ^/?([0-9]+)/([0-9]+)$ /img/another-folder/500x700.jpg?w=$1&h=$2 [END] 

そのルールは、動的構成ファイルに実際のHTTPサーバのホスト構成のに動作します。

明らかに、書き換えモジュールを有効にする必要があります。また、.htaccessスタイルファイルを使用すると、その解釈が最初に有効になります。

本当に古いバージョンのApache HTTPサーバーを使用している場合は、ENDフラグをLフラグに置き換える必要があります。リクエスト(内部サーバーエラー)でhttpステータス500を受け取った場合は、それを試してみてください。

一般的なヒント:動的構成ファイル( ".htaccess")ではなく、httpサーバーのホスト構成内にこのようなルールを配置することを常に推奨します。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは、あなたがホスト構成(本当に安いホスティングサービスプロバイダを読む)を持っていないか、独自の書き換えルールを書くことに頼っているアプリケーションを持っている場合にのみ、最後のオプションとして提供されます(これは明白なセキュリティの悪夢です)。