单声道IOMAP区分大小写

时间:2010-12-15 04:48:51

标签: mono apache2 centos case-sensitive mod-mono

在我的CentOS mod_mono 2.8(mono 2.8.1)框中安装BlogEngine.NET时遇到一些问题。

BlogEngine.NET代码引用名为“Bin”的文件夹。在查看目录的内容时,有一个名为'bin'的文件夹 - 编译源驻留的正常位置。

将文件夹重命名为“Bin”不是一个选项,因为这会导致单声道问题(它需要将文件夹称为“bin”)。

我来到这里:http://www.mono-project.com/IOMap

这表明单声道中的IOMap会使单声道“忽略”区分大小写。

我将MONO_IOMAP=all添加到我的环境中,来自su,当我拨打env时,它会出现但是,这似乎不起作用 - 它仍然区分大小写。

然后我将MonoSetEnv MONO_IOMAP=all添加到我的apache vhosts文件中以获取特定的子域名,但这仍然不起作用。

任何想法我做错了什么?我是盲人,而不是为除{root>以外的任何其他用户MONO_IOMAP=all添加env吗?


更新:此网站的hosts.conf如下所示:

<VirtualHost *:80>
    ServerAdmin webmaster@host.net
    DocumentRoot /home/host/www/host.net/blog
    ServerName blog.host.net
    ErrorLog /home/host/www/host.net/logs/blog.host.net-error.log
    TransferLog  /home/host/www/host.net/logs/blog.host.net-access.log
    CustomLog /home/host/www/host.net/logs/blog.host.net-access_combined.log combined

    DirectoryIndex index.html index.aspx

    MonoServerPath blog.host.net "/usr/local/bin/mod-mono-server2"
    MonoExecutablePath blog.host.net "/usr/local/bin/mono"
    MonoDebug blog.host.net true
    MonoSetEnv blog.host.net MONO_IOMAP=all
    MonoApplications blog.host.net "/:/home/host/www/host.net/blog"

    <Location "/">
            Allow from all
            Order allow,deny
            MonoSetServerAlias blog.host.net
            SetHandler mono
            SetOutputFilter DEFLATE
            SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
    </Location>
    <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
    </IfModule>
</VirtualHost>

2 个答案:

答案 0 :(得分:2)

尝试使用服务器别名设置MonoSetEnv,例如我的虚拟主机配置如下所示:

DocumentRoot /var/www/my.domain.com/
ServerName my.domain.com

MonoServerPath mydomaincom /usr/local/bin/mod-mono-server4
MonoSetEnv mydomaincom MONO_IOMAP=all
AddMonoApplications mydomaincom "/:/var/www/my.domain.com/"

<Location />
    Allow from all
    Order allow,deny
    MonoSetServerAlias mydomaincom
    SetHandler mono
    SetOutputFilter DEFLATE
    SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
</Location>
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
</IfModule>

答案 1 :(得分:1)

我只需将MonoSetEnv MONO_IOMAP=all添加到我的httpd.conf配置文件(通常位于/etc/apache2/httpd.conf)即可解决此问题。

MonoSetEnv MONO_IOMAP=all