Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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?以前工作很好,但现在不行_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 这有什么问题?htaccess?以前工作很好,但现在不行

Php 这有什么问题?htaccess?以前工作很好,但现在不行,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我在一个旧的服务器上运行这个,不幸的是,我不得不切换到一个新的服务器,该服务器必须从头开始重新制作,现在这个。htaccess不工作,它向其目录中的任何请求抛出错误500 Options -MultiViews RewriteEngine on RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+admin\.php\?page=([^\s&]+) [NC] RewriteRule ^ /%1? [R=302,L] RewriteCond %{REQUE

我在一个旧的服务器上运行这个,不幸的是,我不得不切换到一个新的服务器,该服务器必须从头开始重新制作,现在这个。htaccess不工作,它向其目录中的任何请求抛出错误500

Options -MultiViews
RewriteEngine on

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+admin\.php\?page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ admin.php?page=$1 [L,QSA]

<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>

<Files global.php>
Order Allow,Deny
Deny from all
</Files>

Options All -Indexes
选项-多视图
重新启动发动机
RewriteCond%{THE_REQUEST}^[A-Z]{3,}\s/+admin\.php\?page=([^\s&]+)[NC]
是否重写规则^/%1?[R=302,L]
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^([^/]+)/?$admin.php?页面=$1[L,QSA]
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
选项所有-索引
目标是将请求发送到
www.domain.tld/directory/log
www.domain.tld/directory/admin.php?page=log
并防止查看
.htaccess
文件本身或文件
global.php

作为旁注,我曾尝试将其作为目录设置直接写入
apache2.conf
,但这导致apache2服务无法启动。

要确切了解问题所在,您必须检查apache错误日志文件

对于cPanel服务器,可以尝试以下命令:

tail /usr/local/apache/logs/error_log
现在.htaccess最常见的500错误是使用
Options
line

出于安全原因,许多服务器配置不允许在.htaccess中执行
选项
(覆盖配置、启用Perl执行等)

大多数服务器也已经有了
选项-多视图
选项-所有索引

#
注释
选项
行,您的网站应该可以正常运行。

注释掉了这两行,没有任何更改。错误日志显示:
htaccess:Invalid command'RewriteEngine',可能拼写错误或由未包含在服务器配置中的模块定义
最有可能的情况是:由未包含在服务器配置中的模块定义–因此,如果mod_rewrite模块可用,请与服务器管理员联系(如果允许您使用的话)运行了
sudoa2enmod rewrite
,它现在可以工作了,谢谢您的回答。