的.htaccess不使用Internet Explorer唯一的工作 [英] .htaccess not working only with internet explorer

查看:173
本文介绍了的.htaccess不使用Internet Explorer唯一的工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有网站,有重写site.ru和www.site.ru到www,site.ru ​​/ ru_RU。

i have site, that has to rewrite site.ru and www.site.ru to www,site.ru/ru_RU.

我不能访问任何Apache的配置文件。在htaccess的:

I can't access any Apache config files. In htaccess:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST} ^site.ru$
RewriteRule (.*) http://www.site.ru/ru_RU [QSA]
RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule (.*) http://www.site.ru/ru_RU [QSA]

RewriteCond %{REQUEST_URI} ^/news
RewriteRule (.*) /news [QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>

这是在Firefox或Chrome的工作,但在IE中我得到无法显示此页面。在几台电脑上测试IE10与IE8(不兼容性视图)。

It's working in firefox or chrome, but in IE i get "this page can't be displayed". Tested on IE10 and IE8 (not compatibility view) on few computers.

如果我写.htacess一些垃圾,我得到的500错误在IE中。如果没有的.htaccess网站加载不错,但我需要它来重写URL。任何想法如何解决这个问题?

If i write some junk in .htacess, i get 500 error in IE. Without .htaccess site loads ok, but i need it to rewrite url. Any ideas how to fix it?

推荐答案

您的标志都是错误的。修改你的规则是:

Your flags are all wrong. Modify your rules to this:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^ http://www.site.ru/ru_RU [L,R]

RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule !ru_RU /ru_RU [NC,L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [L,QSA]

</IfModule>

这篇关于的.htaccess不使用Internet Explorer唯一的工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆