Internet explorer IE中的htaccess重写问题

Internet explorer IE中的htaccess重写问题,internet-explorer,.htaccess,Internet Explorer,.htaccess,我在摆弄.htaccess和mod_重写。我有一个网站,有两种类型的URL,我重写了: /index.php?nav=$2 /index.php?nav=41&intNewsId=$3--41是静态的,新闻导航总是41 我将其改写为: /pagename/id /news/pagename/id 我已经编写了一段代码(见下文),我得到了社区的一些帮助,但奇怪的是,它在FF、Chrome和safari中运行良好,但在IE中显示“页面无法显示”。htaccess在不同浏览器中的工作方式是否不

我在摆弄.htaccess和mod_重写。我有一个网站,有两种类型的URL,我重写了:

  • /index.php?nav=$2
  • /index.php?nav=41&intNewsId=$3
    --41是静态的,新闻导航总是41
我将其改写为:

  • /pagename/id
  • /news/pagename/id
我已经编写了一段代码(见下文),我得到了社区的一些帮助,但奇怪的是,它在FF、Chrome和safari中运行良好,但在IE中显示“页面无法显示”。htaccess在不同浏览器中的工作方式是否不同?(我对此深表怀疑)

我解决了这个问题,但我不确定为什么这样做有效,而之前的代码无效。我修复了两件事:我删除了starting/from/index.php。。。这并没有解决它,但它的字节数更少: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
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

谢谢大家

我已经解决了这个问题,但我不确定为什么这样做有效,而之前的代码无效。我修复了两件事:我删除了starting/from/index.php。。。这并没有解决它,但它的字节数更少: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
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

回答您的问题:不,htaccess是服务器端的,完全不知道正在使用什么浏览器。@Hans如果您能分享一个真实URL的示例,那么我们可以研究IE对此类页面的不喜欢之处。很可能这与内容/标题有关,因为URL重写模块在服务器上执行其工作时不查看UserAgent ID字符串——这对于所有浏览器都是一样的。Heya Lazyone,抱歉,我无法发送真正的链接,它的本地主机。。你能告诉我这些标题的正确方向吗?比如你说的头是什么意思,文件的MIME类型还是…@斯普德利:数字。。。谢谢@汉斯:嗯。。。使用FireBug for Foreox(“Net”面板)或任何其他浏览器的类似工具(Chrome、Opera、Safari(可能还有最新的IE)——它们都有类似的工具)并查看实际的响应标题。顺便说一句,当回答一个不是答案/问题作者的人时,最好在他的用户名前面加上
@
,作为评论的第一件事——否则你的回答不会通知他。@LazyOne,谢谢@tip,我是新来的:)顺便说一句,我在这件事上使用了Firebug,但即使在那时,关于这个问题对我来说也是个难题:我解决了它,但我不知道为什么。。。我将把我的解决方案发布为编辑。