【问题标题】:Session not working on localhost using IE 9 and virtual host会话在使用 IE 9 和虚拟主机的本地主机上不起作用
【发布时间】:2013-12-04 01:21:28
【问题描述】:

最近我遇到了一个非常奇怪的问题,在浏览了所有可能的论坛和其他互联网资源后找不到解决方案。

情况如下:

我正在使用 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>

在我的主机文件中,我添加了以下行:

127.0.0.1       rienn_laravel

【问题讨论】:

标签: internet-explorer session wamp virtualhost wampserver


【解决方案1】:

这描述了为什么 IE 正确地存在您的域名问题。

域名的有效字符是什么?可以多长?

在为您的域选择名称时,请始终记住: - 您不能使用重读元音(例如 à、é、ò 等); - 你不能使用符号(例如 ' + . , | !" £ $ % & / ( ) = ? ^ * ç ° § ; : _ > ] [ @ ); - 名字的长度必须介于 3 到 63 个字符之间(不包括扩展名);- 名称既不能以字符“-”开头也不能以字符“-”结尾,尽管名称中允许使用字符“-”。因此,要命名您的域,您可以使用任何字母、0 到 9 之间的数字以及符号“-”。..

长度可能会有所不同,从 3 到 63 种不等。

我不知道为什么其他浏览器在域名中使用下划线但基本上_ 不是有效字符。

您最好坚持使用 rienn-laravel.devrienn-laravel.localhost 之类的东西,但避免使用像 .com 等真正的顶级域名,因为使用其中之一意味着当您有一个指向该文件的主机文件条目时,您将无法访问真实网站到 127.0.0.1

【讨论】:

【解决方案2】:

这个不寻常的问题是由虚拟主机名称中的下划线符号引起的。

将虚拟主机名更改为不带下划线的名称后,一切正常。我试过 rinnlaravel.riennlaravel.rienn.dev。所有变体在 IE 9 中也都能完美运行。

不幸的是,我不知道为什么下划线会在 IE 9 中导致这样的问题,如果您知道,请告诉我和其他人。

希望这对某人有所帮助。

【讨论】:

    【解决方案3】:

    我可以确认,是域名中的下划线。前段时间我遇到了同样的问题,并通过将所有 '_' 替换为 '.' 来解决它。 ..

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 - From Review
    • 谢谢辛迪,你是对的。我对规则不是很熟悉。
    猜你喜欢
    • 2013-01-10
    • 2012-02-16
    • 2011-05-13
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    相关资源
    最近更新 更多