Php 数据库已更改,由于重写规则,某些页面无法工作
我的主机更改了我的数据库主机名,我不确定某个文件在哪里 我的主要网站是live,但我有一个自定义CRM,输入URL是index.php?mid=crmsystem 本网站使用ExpressionEngine CMS 存在具有以下规则的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=之后获取所有内容,然后再去
.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。。。