如果没有.htaccess文件,应用程序可以完美运行, 每当我添加 .htaccess 文件时,它都显示禁止访问/服务器。 我试图将"测试"放在.htaccess文件的第一行,它"显示内部服务器错误",这是很好的apache读取.htaccess文件。 但是每当它在.htaccess文件中读取"重写引擎"行时,它就会立即显示禁止的错误。
这是我的.htaccess文件。
RewriteEngine on
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
和 httpd.config 文件
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
Options ExecCGI
</Directory>
- 无需更改
httpd.conf
文件,.htaccess
文件是 足以使您的CI
项目启动并运行。 - 但是,如果必须,则需要在
DocumentRoot
中提供绝对路径,即将${SRVROOT}/htdocs
更改为"F:/xampp/htdocs" -- (your/location/here)
${SRVROOT}
将不起作用,因为您不是在.php
文件中写入。
有关更多信息,请参阅这些 --
- 如何为阿帕奇服务器设置代码点火器?
- 设置 httpd.conf/mod_rewrite 以重定向到代码点火器?
- 如何纠正配置 Apache 和 Codeigniter?
这是我httpd.conf
文件——
DocumentRoot "F:/xampp/htdocs"
<Directory "F:/xampp/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks Includes ExecCGI
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
我的.htaccess
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1
# if your base_url() doesn't have a trailing slash then instead of ↑ use ↓-
# RewriteRule (.*) /index.php/$1
希望这对你有帮助。