2011-06-23 22 views
0

私は、.htaccessとmod_rewriteを使いこなしています。私は、私が書き直したURLの2種類があるサイトがあります: - :IEのhtaccess書き換え問題

  • /index.php?nav=$2
  • /index.php?nav=41&intNewsId=$3 41が静的であるが、ニュースのNAVは、私はそれらを書き直し常に41

です

  • /pagename/id
  • /news/pagename/id

私はすでに(下の)動作するコードを作っていましたが、私はコミュニティの助けを借りていましたが、奇妙なことはFF、Chrome、Safariではhttp://www.mydomain.nl/projects/15がうまく動作しますが、 "IEで。 htaccessはさまざまなブラウザで異なった働きをしますか? (私は非常にそれを疑う)

Options +FollowSymlinks 
RewriteEngine on 

# Reroute rules that end on/
RewriteRule ^(.*)\/(\d+) /$1/$2/ [R] 
# RewriteRule ^(.*)\/(.*)\/(\d+) /$1/$2/$3/ [R] 

# Make the system understand pagename/96 
RewriteRule ^(.*)\/(\d+)/ /index.php?nav=$2 

# Make the system understand news/pagename/99 
RewriteRule ^(.*)\/(.*)\/(\d+)/ /index.php?nav=41&intNewsId=$3 

私はこの問題を解決しが、これは仕事、および前のコードのdoesntを行い、なぜイムはわかりません。私は二つのことを固定:私は、開始/ /index.phpから...それdidntのは、それを解決するために削除されますが、それはあまりバイトです:D

それから私は、これはそれを固定し、/ -reroutingルールを書き直し...

Options +FollowSymlinks 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://mydomain.nl/$1/ [L,R=301] 

RewriteRule ^(.*)\/(\d+)/ index.php?nav=$2 

RewriteRule ^(.*)\/(.*)\/(\d+)/ index.php?nav=41&intNewsId=$3 

ありがとうございます!

+0

質問に答えてください:いいえ、htaccessはサーバー側であり、どのブラウザーが使用されているかについて全く知りません。 – Spudley

+0

@ハンスREAL URLの例を共有できれば、そのようなページについてIEが何を好まないかを調べることができます。 URL書き換えモジュールがUserAgent ID文字列を見ることなくサーバー上でその仕事を行うように、コンテンツ/ヘッダーとかなり関係があります。すべてのブラウザで同じです。 – LazyOne

+0

Heya Lazyone、 申し訳ありませんが、実際のリンク、localhostを送信できません..これらのヘッダーの正しい方向に私を指摘できますか?どのようなヘッダーのように、ファイルのMIMEタイプ、または... @ Spudley:数字...ありがとう! –

答えて

1

私はこの問題を解決しましたが、なぜこれが機能するのかわかりません。前のコードでは問題ありません。私は二つのことを固定:私は、開始/ /index.phpから...それdidntのは、それを解決するために削除されますが、それはあまりバイトです:D

それから私は、これはそれを固定し、/ -reroutingルールを書き直し...

Options +FollowSymlinks 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://mydomain.nl/$1/ [L,R=301] 

RewriteRule ^(.*)\/(\d+)/ index.php?nav=$2 

RewriteRule ^(.*)\/(.*)\/(\d+)/ index.php?nav=41&intNewsId=$3