Php Codeigniter不';无法找到资产(css | js |图像)

Php Codeigniter不';无法找到资产(css | js |图像),php,css,codeigniter,routing,virtualhost,Php,Css,Codeigniter,Routing,Virtualhost,我在windows中有以下虚拟主机配置: NameVirtualHost * <VirtualHost *> DocumentRoot "C:\xampp\htdocs" ServerName localhost </VirtualHost> <VirtualHost *> DocumentRoot "C:\xampp\htdocs\example" ServerName example.com <Dire

我在windows中有以下虚拟主机配置:

NameVirtualHost *
  <VirtualHost *>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
  </VirtualHost>
  <VirtualHost *>
    DocumentRoot "C:\xampp\htdocs\example"
    ServerName example.com
  <Directory "C:\xampp\htdocs\example">
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
NameVirtualHost*
DocumentRoot“C:\xampp\htdocs”
服务器名本地主机
DocumentRoot“C:\xampp\htdocs\example”
ServerName example.com
命令允许,拒绝
通融
我在
htdocs(xampp)
中的
example
文件夹中有资产文件夹。 问题是当我打开
example.com/home
时,它会查看没有资源的页面(抛出
404错误


我该怎么办?

我以前有过这个问题。基本上,codeigniter控制所有路径。您需要设置一个.htaccess文件,该文件允许某些路径避免使用codeigniter,例如css、javascript、图像等

类似这样的事情应该会有所帮助:

DirectoryIndex index.php index.html index.htm

RewriteEngine on
RewriteCond $1 !^(index\.php|images|img|css|js|style|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ index.php/$1 [L] 

(您可能需要也可能不需要更改最后一行;“index.php/$1”可能需要为“/index.php/$1”,具体取决于您的服务器设置。)

以下是我在Apache 2.4中使用的配置的一个变体-可能需要对2.2进行一些语法更改,但是重写规则应该可以

RewriteEngine On
RewriteBase /

# codeigniter urls
RewriteRule ^(welcome(/index)?|index(\.php)?)/?$ / [L,R=301]
RewriteRule ^(.*)/index/?$ $1 [L,R=301]

# remove trailing slashes
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

# application routing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

“应用程序路由”部分告诉Apache,仅当路径不作为文件或目录存在时,才将请求路由到PHP。

我有一个.htaccess,它省略了index.PHP文件。\n此线程中的更多内容: