Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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_Mysql_.htaccess - Fatal编程技术网

Php htaccess适用于第一个规则,但不适用于第二个规则

Php htaccess适用于第一个规则,但不适用于第二个规则,php,mysql,.htaccess,Php,Mysql,.htaccess,我有两个页面advision.php和Gidc.php,如果它们有user=“some value”,它们就可以工作 例如: example.com/advertisement_final_page.php?user=sumeet 及 我想要htaccess的代码将其重定向到上面的页面: example.com/sumeet 及 我的数据库是: id 1 类型广告 用户sumeet 联系651651 所有者Sumeet Patel 网站asdfkjh.com 电子邮件sdfjh@skdj.c

我有两个页面advision.php和Gidc.php,如果它们有user=“some value”,它们就可以工作 例如:

example.com/advertisement_final_page.php?user=sumeet

我想要htaccess的代码将其重定向到上面的页面:

example.com/sumeet

我的数据库是:

id 1

类型广告

用户sumeet

联系651651

所有者Sumeet Patel

网站asdfkjh.com

电子邮件sdfjh@skdj.com

地址:skjdf、sd、sdh

id 2

Gidc型

用户nikhil

联系651651

所有者Nikhil Patel

网站sadfjh.com

电子邮件sdf@sdhf.com

地址:skjdf、sd、sdh

我的访问规则:

但通过上面的代码,它可以到达advision_final_page.php页面。 就像我进去一样

example.com/nikhil
它重定向到

example.com/advertisement_final_page.php?user=nikhil

您的规则中的模式似乎是相同的。重写引擎将匹配它可以匹配的第一条规则,在本例中是第一条规则


您可能应该编写一个控制器文件,将所有请求重定向到该文件。然后从
$\u GET['user']
中读取所需的用户,从数据库中读取用户数据,并根据用户的
类型重定向/包含相应的PHP文件。规则中的模式似乎是相同的。重写引擎将匹配它可以匹配的第一条规则,在本例中是第一条规则


您可能应该编写一个控制器文件,将所有请求重定向到该文件。然后从
$\u GET['user']
中读取所需的用户,从数据库中读取用户的数据,并根据用户的
类型重定向/包含相应的PHP文件

仅当前面的匹配错误时,才会处理第二个匹配。在这种情况下,两者都是相同的,第一个总是正确的。因此,
advision\u final\u page.php?user=nikhil
被加载,其余的行被跳过

你可以说出你真正想要实现的目标,让我们来指导你。:-)

------------------------------------编辑-----------------

根据您的需要,您可以执行以下操作:

RewriteRule^([a-zA-Z0-9_-]+)$redirect.php?用户=$1

在redirect.php中,您可以编写:

$u = $GET['user'];

if( $u == 'sumeet'){
   header('location: advertisement_final_page.php?user=sumeet');
} else if ( $u == 'nikhil') {
   header('location: gidc_final_page.php?user=nikhil');
}
但请理解此代码不是标准代码。要使此代码更好,您需要检查数据库中的
$user
,然后相应地重定向,而不是使用
if()
来比较所有名称

为此,您可以使用以下表格:

+------------+---------------------------------------+
|  username  |             redirect_url              |
+------------+---------------------------------------+
|   nikhil   |       gidc_final_page.php?user=       |
+------------+---------------------------------------+
|   sumeet   |  advertisement_final_page.php?user=   |
+------------+---------------------------------------+
|    alice   |       gidc_final_page.php?user=       |
+------------+---------------------------------------+
|     ....   |                  ....                 |
+------------+---------------------------------------+

我希望这将帮助您:-)

只有在之前的匹配错误时,才会处理第二个匹配。在这种情况下,两者都是相同的,第一个总是正确的。因此,
advision\u final\u page.php?user=nikhil
被加载,其余的行被跳过

你可以说出你真正想要实现的目标,让我们来指导你。:-)

------------------------------------编辑-----------------

根据您的需要,您可以执行以下操作:

RewriteRule^([a-zA-Z0-9_-]+)$redirect.php?用户=$1

在redirect.php中,您可以编写:

$u = $GET['user'];

if( $u == 'sumeet'){
   header('location: advertisement_final_page.php?user=sumeet');
} else if ( $u == 'nikhil') {
   header('location: gidc_final_page.php?user=nikhil');
}
但请理解此代码不是标准代码。要使此代码更好,您需要检查数据库中的
$user
,然后相应地重定向,而不是使用
if()
来比较所有名称

为此,您可以使用以下表格:

+------------+---------------------------------------+
|  username  |             redirect_url              |
+------------+---------------------------------------+
|   nikhil   |       gidc_final_page.php?user=       |
+------------+---------------------------------------+
|   sumeet   |  advertisement_final_page.php?user=   |
+------------+---------------------------------------+
|    alice   |       gidc_final_page.php?user=       |
+------------+---------------------------------------+
|     ....   |                  ....                 |
+------------+---------------------------------------+

我希望这能帮助您:-)

advision_final_page.php和gidc_final_page.php是两个不同的页面,从同一个表中获取信息。若在link中设置了用户变量,那个么它将从表中进行检查,并根据类型列获取数据。现在,如果有人写example.com/nikhil,它应该转到example.com/gidc_final_page.php?user=nikhil,如果有人写example.com/sumeet,那么它应该转到example.com/advision_final_page.php?user=sumeetadvertisement_final_page.php和gidc_final_page.php是两个不同的页面,从同一个表中获取信息。若在link中设置了用户变量,那个么它将从表中进行检查,并根据类型列获取数据。现在,如果有人写example.com/nikhil,它应该转到example.com/gidc_final_page.php?user=nikhil,如果有人写example.com/sumeet,那么它应该转到example.com/advision_final_page.php?user=sumeetx,实际上我使用GET检查表中的user=”“,然后只加载页面。但如果有人写example.com/nikhil,它应该转到example.com/gidc_final_page.php?user=nikhil,如果有人写example.com/sumeet,那么它应该转到example.com/advision_final_page.php?user=sumeetx,实际上我用GET检查表中的user=”“,然后只加载页面。但是如果有人写example.com/nikhil,它应该转到example.com/gidc_final_page.php?user=nikhil,如果有人写example.com/sumeet,那么它应该转到example.com/advision_final_page.php?user=sumeet
+------------+---------------------------------------+
|  username  |             redirect_url              |
+------------+---------------------------------------+
|   nikhil   |       gidc_final_page.php?user=       |
+------------+---------------------------------------+
|   sumeet   |  advertisement_final_page.php?user=   |
+------------+---------------------------------------+
|    alice   |       gidc_final_page.php?user=       |
+------------+---------------------------------------+
|     ....   |                  ....                 |
+------------+---------------------------------------+