2016-10-22 8 views
0

私はサイト(asp.net)を持って、何とかGoogleはそれがこのようなURLがあると考えて:にURLを書き換える方法。パスで?

http://www.example.com/IL/Venice/Industrial-Warehouse-Space/1226-Bissell-Ave./709265 

実際のURLを書き換える方法

http://www.example.com/IL/Venice/Industrial-Warehouse-Space/1226-Bissell-Ave/709265 

またはhttp://www.example.com/property.aspx?id=709265

する必要がありますそれ?

私はしかし、それは動作しませんでした、すなわちISAPI_Rewrite3.0、

#RewriteRule /[a-zA-Z][a-zA-Z]/[a-zA-Z0-9\-/,.`')(&[email protected]%\.]+./([0-9]+) /Property.aspx?ID=$1 [L] 

これを書き換えるには、いくつかのソフトウェアを試してみました。これは404を返します。ただし、customErrorは設定されていますが、決してヒットしません。

それはほとんどそれは、それは404

答えて

0

これらの2つの質問(およびルール)されているが返されますasp.netプロセスの前のように見える、私は思います。 1つは、最初のURL(.)を2番目のURL(なし、.なし)にリダイレクトすることです。

RewriteRule ^(../.+?)\.(/[^/]+)$ /$1$2 [R,L] 

もう1つは、要求URIからASPスクリプトに書き換えることです。

書き換えルールは、それが必要でも有用でもない最後のスラッシュの前で.を持つディレクトリ・コンテキスト

  • ではありませんスラッシュで始まり、いくつかの問題

    • を持っています
    • ターゲットをもたらす可能性が、大文字にされているファイルシステムは、
    • パラメータIDが大文字であるクエリは、これは問題または
    • であってもなくてもよい敏感な場合は、「404が見つかりません」

    あなたは自分のスクリプトのためのIDとして末尾の番号をピックアップすると、本当にあなたのURLの形式を気にしない場合、あなたはこのルール

    RewriteRule ^.+?/([0-9]+)$ /property.aspx?id=$1 [L] 
    
  • +0

    でそれを捕獲しようとするかもしれませんいいえ、これは動作しません。 「リソースが見つかりません」と表示されても、customErrorページはこれを取得できません。 URLが './' – urlreader

    +0

    私はIISの部分を見逃していて、この質問はApacheのmod_rewriteに関するものだと思っていました。なぜなら、[tag:.htaccess]と[tag :mod-rewrite]を実行します。 –

    +0

    書き換えルールは同じでなければならず、正規表現でなければなりませんが、IISとApacheはこれを処理するのに違いがあります。 – urlreader

    関連する問題