Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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 数据库已更改,由于重写规则,某些页面无法工作_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 数据库已更改,由于重写规则,某些页面无法工作

Php 数据库已更改,由于重写规则,某些页面无法工作,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我的主机更改了我的数据库主机名,我不确定某个文件在哪里 我的主要网站是live,但我有一个自定义CRM,输入URL是index.php?mid=crmsystem 本网站使用ExpressionEngine CMS 存在具有以下规则的.htaccess文件: RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^([a-zA-Z0-9_]+)/?$ ./index.php?mid=$1 [L,QSA] 我认为这意味着在mid=之后获取所有内容,然后再去

我的主机更改了我的数据库主机名,我不确定某个文件在哪里

我的主要网站是live,但我有一个自定义CRM,输入URL是index.php?mid=crmsystem

本网站使用ExpressionEngine CMS

存在具有以下规则的
.htaccess
文件:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/?$ ./index.php?mid=$1 [L,QSA]
我认为这意味着在
mid=
之后获取所有内容,然后再去做,但我不确定

有人能解释一下它在做什么吗?我查看了index.php文件,没有对查询字符串中的mid进行逻辑检查

正在尝试查找要更新的数据库连接文件

RewriteCond %{SCRIPT_FILENAME} !-d
这意味着您的URL不应该是目录位置。如果为真,则执行:

RewriteRule ^([a-zA-Z0-9_]+)/?$ ./index.php?mid=$1 
这意味着您在URL中拥有的任何内容(字符或数字)都应作为GET变量mid的值。然后您将被重定向到index.php,并使用
$\u GET[mid]=whateverURL

RewriteCond
用于在.htaccess中写入if语句

%{SCRIPT\u FILENAME}
使用检查URL值-d

-d
表示目录

RewriteRule
是一种适用于URL的规则

^([a-zA-Z0-9_239;]+)/?$
是对URL进行数学运算的正则表达式

/index.php?mid=$1
是应该重新定向的地方


$1
是正则表达式中括号匹配的第一个元素,但是原始链接是index.php?mid=crmsystem-那么解析的URL是什么呢?@andrewb应该很好,因为正则表达式中有一个“?”、一个“.”和一个“=”不匹配,所以URL不匹配redirect@andrewb你试过只做你的.site/crm系统吗,因为使用htaccess,index.php?mid=crm系统是无用的。您的主机在没有通知或询问您的情况下更改了您的数据库名称?他们不能那样做。。。。您的主机是谁?您的index.php是否包含其他php文件?检查URL的可能不是index.php。。。