Php Codeigniter不';无法找到资产(css | js |图像)
我在windows中有以下虚拟主机配置: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
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此线程中的更多内容: