【问题标题】:Beginner .htaccess question (codeigniter related)初学者 .htaccess 问题(codeigniter 相关)
【发布时间】:2011-08-20 20:09:13
【问题描述】:

我第一次为我的桌面版网站设置了 CodeIgniter,在将 AllowOverride 从 None 更改为 All 以使以下 .htaccess 规则起作用后,我遇到了一些问题:

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|m|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

问题是,我有一个位于 m.domain.com 的网站的移动版本 - 它从 domain.com/m 中提取其内容。当 AllowOverride 为“无”时,这非常有效。现在我已将其更改为“全部”并实现了上述 .htaccess 文件 - 子域不再有效,并且显示了“Apache 服务器的测试页面”html 文件。

任何人都知道可能导致问题的原因是什么?!谢谢!

【问题讨论】:

    标签: php .htaccess codeigniter sysadmin httpd.conf


    【解决方案1】:

    当您可以将一个 htaccess 文件嵌入到 vhost conf 中并返回到 AllowOverride None 时,为什么您只允许一个 htaccess 文件,而这似乎对您更有效?

    附带说明 AllowOverride All 是您通常不会尝试做的事情。

    例子:

    <VirtualHost *:80>
        ServerAlias yourdomain.com
        DocumentRoot /var/www/
            <Directory "/var/www/folder">
                    RewriteEngine On
                    RewriteRule XXXXXX
            </Directory>
            <Directory "/var/www/another">
                    RewriteEngine On
                    RewriteRule XXXXXX
            </Directory>
    </VirtualHost>
    

    【讨论】:

    • 抱歉 - 我是新手。我不知道如何使用 vhost conf 只覆盖一个目录,但我现在会研究它。
    • 感谢所有的帮助 - 我真的很感激你
    猜你喜欢
    • 1970-01-01
    • 2021-02-13
    • 2011-01-12
    • 2018-01-08
    • 1970-01-01
    • 2020-01-04
    • 2020-11-23
    • 2015-03-16
    • 2012-04-15
    相关资源
    最近更新 更多