Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ubuntu htaccess不工作_Php_.htaccess_Codeigniter_Ubuntu_Lamp - Fatal编程技术网

Php ubuntu htaccess不工作

Php ubuntu htaccess不工作,php,.htaccess,codeigniter,ubuntu,lamp,Php,.htaccess,Codeigniter,Ubuntu,Lamp,我在一个云服务器上使用ubuntu,在那里我安装了一个lamp堆栈,并添加了我的服务器文件等 但当我尝试访问像1.2.3.4/页这样的页面时,它将返回404页未找到错误 我正在使用Codeigniter框架 我试图编辑站点可用/default文件,并将AllowOverride从No更改为All,但随后将显示500服务器错误 AllowOverride None 到 。。。有什么线索吗 我的htaccess文件: RewriteEngine On #RewriteCond %{HTTP_HO

我在一个云服务器上使用
ubuntu
,在那里我安装了一个lamp堆栈,并添加了我的服务器文件等

但当我尝试访问像1.2.3.4/页这样的页面时,它将返回404页未找到错误

我正在使用
Codeigniter
框架

我试图编辑
站点可用/default
文件,并将
AllowOverride
No
更改为
All
,但随后将显示500服务器错误

AllowOverride None

。。。有什么线索吗

我的htaccess文件:

RewriteEngine On

#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule (.*) http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]

如果出现500服务器错误,则问题与访问限制无关。检查web服务器日志以查找错误跟踪


500服务器错误表示您的请求已被处理(因此没有限制问题),但发生了错误

您是否遵循了此处的说明:第4节对500个错误提出了建议。

更新

如果您试图查看站点时遇到
500
类型的错误,则会发生这种情况,因为出于安全原因,默认情况下未启用“重写”模块

/etc/apache2/mods enabled中创建一个名为
rewrite.conf
的新文件 在文件中放入这一行
LoadModule rewrite\u module/usr/lib/apache2/modules/modules\u rewrite.so


重新加载服务器一次。

你说得对。。我遇到了一些错误,然后我执行了以下命令并重新启动了apache2:a2enmod rewrite,它启用了重写模块。。。然而,现在当我试图通过IP访问我的服务器时,它会添加www.before,它不会让我看到网站。。。只是加载页面时出现问题。。。有什么线索吗?可能是Codeigniter url配置问题吗?我不知道codeigniter,但我想它有路径的配置文件,也许www会出现在那个里?你们可以在我编辑的帖子上面查看添加了htaccess的内容。。。你会看到2行被注释掉,因为我认为这2行导致了在服务器IP之前添加www的麻烦,但它不是…好的,我使用的浏览器似乎有问题,因为我尝试过的所有其他浏览器都工作了。。。所以我认为这已经解决了。
RewriteEngine On

#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule (.*) http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]