2009-04-09 17 views
0

こんにちは私は簡単に説明しましょう。.htaccess for rewrite url

私は、クエリ文字列を持つ "http://Domain.com/FolderName/Default.aspx?EditID=6"というURLを持っています。

私はそれは私がURLから"Default.aspx?EditID=6"一部を削除すると、いくつかの名前で置き換えたいこと...

"http://Domain.com/FolderName/Name" 

以下のようにそのURLを表示する必要があります...

あなたは助けることができます私。

おかげでたくさん....

+0

あなただけがApacheサーバに適用されたファイルである.htaccessファイルで質問をタグ付けしていますあなたの例ではasp.netファイル(asp.net)を使用しています。asp.netは通常IIS上でのみ動作します(asp.netの場合は.htaccessファイルではなくweb.configを使用する必要があります)。 IIS上でASP.netを使用しているのか、Apache上で別の言語を使用しているのかを明確にすることはできますか? – John

答えて

0

この記事hereをチェックしてください。一見

、これは動作するはずです(私は実際にそれをテストしていないこと):あなたの/で

RewriteEngine On 

#prevent an infinite rewrite loop 
RewriteRule ^Community/Default\.aspx - [L] 

#rewrite the names 
RewriteRule ^Community/([^/]+) /Community/Default.aspx?N=$1 [L,NC,QSA] 

# Turn on the rewriting engine 
RewriteEngine On 
# Change requests that match "FolderName/Name/" to "FolderName/Default.aspx?EditID=6" 
RewriteRule ^FolderName/Name/?$ FolderName/Default.aspx?EditID=6 [NC] 

スティーブ

+0

ご協力ありがとうございます...しかし、あなたのコードにベースURLを書き込んでルールを書き直す必要があることを覚えておいてください。 –

0

あなたがmod_rewriteを有効になっていると仮定すると、 Community/Default.aspx、EditNameをEditIDに解決する必要があります。あなたが定義するいくつかのテーブルでそれを調べます。

編集:残念ながら、書き換えモジュールはどのIDがどのIDにマップされているかわかりません(IDごとに別のルールを作成しない限り、スケールされません)。したがって、書き換えモジュールは、Nという名前をDefault.aspxに渡し、どのIDが意味されているかを見つけるのはスクリプトの責任です。

+0

私の場合は感謝していますが、私の場合はまだ動作していません... 実際のURLはhttp://domain.com/Community/Default.aspx?EditID=6&N=ABCD http://domain.com/Community/ABCDとしたい –

0

これは私が現在リダイレクトだけでなく、ホットリンクのために特定のファイルを特定のドメインを経由できるようにするために使用するものです。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ /index.php [NC,L] 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?google.com/.*$ [NC] 
RewriteRule \.(gif|jpg|png|zip|js|css)$ - [F]