Php 初学者.htaccess问题(与codeigniter相关)

Php 初学者.htaccess问题(与codeigniter相关),php,.htaccess,codeigniter,sysadmin,httpd.conf,Php,.htaccess,Codeigniter,Sysadmin,Httpd.conf,我第一次为我的桌面版网站设置了CodeIgniter,在将AllowOverride从“无”更改为“全部”后,我遇到了一些小问题,因此以下.htaccess规则有效: DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|images|css|js|m|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQ

我第一次为我的桌面版网站设置了CodeIgniter,在将AllowOverride从“无”更改为“全部”后,我遇到了一些小问题,因此以下.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为“无”时,这项功能非常有效。现在,我已经将其更改为“All”,并实现了上面的.htaccess文件—子域不再工作,我将显示一个“Apache服务器的测试页面”html文件


有人知道是什么导致了这个问题吗?!谢谢

当您可以将一个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>

服务器别名yourdomain.com
DocumentRoot/var/www/
重新启动发动机
重写规则XXXXXX
重新启动发动机
重写规则XXXXXX

当您可以将一个htaccess文件嵌入vhost配置并返回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>

服务器别名yourdomain.com
DocumentRoot/var/www/
重新启动发动机
重写规则XXXXXX
重新启动发动机
重写规则XXXXXX

对不起,我是新来的。我不知道如何使用vhost conf只给一个目录一个覆盖,但我现在会研究它。感谢所有的帮助-我真的很感谢tiSorry-我是一个相当新的。我不知道如何使用vhost conf只给一个目录一个覆盖,但我现在会研究它。感谢所有的帮助-我真的很感谢你