最近我遇到了一个非常奇怪的问题,在浏览了所有可能的论坛和其他互联网资源后找不到解决方案。
情况如下:
我正在使用WAMP开发一个PHP网站。我设置了一个名为 rienn_laravel 的虚拟主机,因此我可以通过地址访问localhost上的站点
http://rienn_laravel/
该网站在最新的Chrome和Firefox中运行良好,但在IE 9中,我无法使用Sessions。我无法登录,或访问我在会话中输入的错误/通知消息。
我使用了以下设置。
在httpd-vhosts.conf中,我有以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "C:/path/to/project"
ServerName rienn_laravel
<Directory "C:/path/to/project">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在我的hosts文件中,我添加了以下行:
127.0.0.1 rienn_laravel
答案 0 :(得分:4)
这说明了为什么IE正确地存在您的域名问题。
域名的有效字符有多长,有多长?
选择域名时,请始终记住: - 不能使用强调元音(例如à,é,ò等); - 你不能使用符号(例如'+。,|!'£$%&amp; /()=?^ *ç°§;:_&gt;] [@]; - 名称的长度必须介于3到63个字符之间(不包括扩展名); - 名称既不能以字符“ - ”开头也不能结束,尽管名称中允许使用字符“ - ”。因此,要为您的域名命名可以使用任何字母,0到9之间的数字,以及符号“ - ”。
长度可能会有所不同,从3种到63种不等。
我不知道为什么其他浏览器在域名中使用下划线但基本上_
不是有效字符。
你最好坚持rienn-laravel.dev
或rienn-laravel.localhost
这样的东西,但是避免使用像.com等真正的tld,因为使用其中一个就意味着当你拥有一个主机时你无法访问真实的网站文件条目指向127.0.0.1
答案 1 :(得分:1)
这个异常问题是由虚拟主机名称中的下划线标志引起的。
在我将虚拟主机名更改为没有下划线的名称后,一切正常。我尝试了 rienn , laravel.rienn , laravel.rienn.dev 。所有变体在IE 9中也完美无缺。
不幸的是我不知道为什么下划线在IE 9中引起了这样的问题,如果你知道请让我和其他人知道。
希望这有助于某人。
答案 2 :(得分:0)
我可以确认一下,它是域名中的下划线。我前段时间遇到了同样的问题,并通过用'。'替换所有'_'来解决它。 ..