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 .htaccess不工作,给我一个;500内部服务器错误“;警告_Php_.htaccess_Codeigniter - Fatal编程技术网

Php .htaccess不工作,给我一个;500内部服务器错误“;警告

Php .htaccess不工作,给我一个;500内部服务器错误“;警告,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,我使用codeigniter框架创建了一个购物护理,我尝试使用以下代码重定向我的页面,但是web浏览器给了我一个“500内部服务器错误”为什么 Options +FollowSymLinks Options -Indexes DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|resources|images|css|js|robots\.txt|favicon\.ico) RewriteCond %{RE

我使用codeigniter框架创建了一个购物护理,我尝试使用以下代码重定向我的页面,但是web浏览器给了我一个“500内部服务器错误”为什么

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 

首先使用下面的命令(Linux)检查重写模式是否已启用或未启用

并使用以下行修改您的
.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
#RewriteRule ^([a-z]+)\/?$ $1.php [NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html
#RewriteRule ^([a-z]+)\/?$ $1.html [NC]

</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
RewriteCond%{REQUEST_FILENAME}.php-f
重写规则^(.*)$$1.php
#重写规则^([a-z]+)\/?$$1.php[NC]
重写cond%{REQUEST_FILENAME}-D
RewriteCond%{REQUEST_FILENAME}.html-f
重写规则^(.*)$$1.html
#重写规则^([a-z]+)\/?$$1.html[NC]

您可以检查是否安装了Apache的
mod_rewrite
吗?您从哪里复制粘贴此重写规则的?在您的第一次
重写第二次
中,您正在测试先前
重写规则的(部分)匹配结果(该
$1
-part)-除了我之前的评论之外,它(显然)不是从ytb eduonix学习解决方案视频中获得的。您应该检查您的apache错误日志,以便更好地解释出错的原因。“500内部服务器错误”实际上可能是任何错误。这甚至可能不是因为您粘贴的代码。找出实际的错误是什么。如果尚未启用,请启用错误报告
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
#RewriteRule ^([a-z]+)\/?$ $1.php [NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html
#RewriteRule ^([a-z]+)\/?$ $1.html [NC]

</IfModule>