2016-08-19 16 views
1

これは少し難解ですが、できるだけこのURLを小さくしたいと思います。 .htaccessファイルを使用して.htaccessファイルを置き換えるために変数を使用して書き換えます

http://www.example.co.uk/something-school/

:に

http://www.example.co.uk/profile/profile.asp?profile_id=1&top=1&abt=2&ft=3&school=Something%20School

:理想的には私はこのURLを変更したいと思います。

これは、学校の変数getを使用して.aspファイル名を置き換え、/ profile /と他のget変数を取り除くことを意味します。

これは可能ですか?もしそうなら、どのように?もしそうでなければ、私に代替手段を与える可能性がありますか?

ご協力いただければ幸いです!

EDIT

Badhorsieは、正確な変換を行います私のために書き換えルールを書いたユーザー。残念なことに、これらのget変数はページが読み込まれるために必要なため、Webページが読み込まれません。

get変数を非表示にすることはできません。どのような場合には、get変数を保持することは可能ですが、それをきれいに保つことは可能でしょうか?ディレクトリが必要であるように見える?

おそらくのようなもの:それが必要とされないよう私たちは、学校を取り除くことができますwww.example.co.uk/profile/something-school/1/1/2/3

は、変数を取得(のみ必要。プロフィール/ profile.aspセクションを交換する

+0

ファイルタイプが '.asp'なので、.htaccessはApacheサーバーにリンクされています。あなたはASP.NETサーバーを持っていると仮定します。 – feareoc

+0

試したことを共有できますか? – starkeen

+0

こんにちはRasmus、私たちはモジュールに.htaccessファイルを解釈するサーバーをインストールしましたので、問題ではありません。 – Aasim

答えて

0

はこれを試してみてください:

RewriteCond %{QUERY_STRING} (.+(?=&school))school=([\w%-]+) 
RewriteRule ^profile/profile.asp /%2?%1 [L,NE,R=301] 
+0

残念ながら、これは生成されました:http://www.example.co.uk/Example%2520School?profile_id=1&top=1&abt=2&ft=3&school=Example%2520Schoolは動作しません。 – Aasim

+0

@Aasim申し訳ありません、今すぐ試してください。それを私が直した。 – BadHorsie

+0

こんにちはBadhorsie、それは正しく書き換えを行いますが、ページが読み込まれません。私は再書き込みがget変数を保持していないので、それが仮定されています。この場合、学校変数を除いてこれらを保持することができます。 – Aasim

0

あなたがこののRewriteRuleを試しました、あなたの.htaccessファイルに次のコードを追加してみてください

RewriteRule ^http://www.example.co.uk/profile/profile.asp?profile_id=1&top=1&abt=2&ft=3&school=Something%20School?$ http://www.example.co.uk/something-school/ [L] 
+0

それは動的である必要があります – Aasim

関連する問題