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的调用页_Php_.htaccess - Fatal编程技术网

Php 使用htaccess的调用页

Php 使用htaccess的调用页,php,.htaccess,Php,.htaccess,我有htaccess文件,其中有: RewriteEngine On Options +FollowSymlinks RewriteBase /project/ RewriteRule ^betNow/$ index.php?action=betNow [L] RewriteRule ^(.*)/betNow/$ index.php?action=betNow [L] RewriteRule ^(.*)/betNow/([0-9]+)$ index.php?action=betNow&

我有htaccess文件,其中有:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /project/

RewriteRule ^betNow/$ index.php?action=betNow [L]
RewriteRule ^(.*)/betNow/$ index.php?action=betNow [L]
RewriteRule ^(.*)/betNow/([0-9]+)$ index.php?action=betNow&id=$2 [L]
当我输入localhost/project/betNow时,它就工作了/ 但我不明白最后一条规则 我尝试了localhost/project/betNow/4 和localhost/project/betNow/id=4 这是行不通的。我做错了什么


提前感谢

您已经定义了您的
重写库/项目
,您的站点显然位于
http://localhost/project/
-所以当您呼叫
http://localhost/project/betNow/
交给重写规则的请求字符串只是
betNow/

因此,以
^(.*)/betNow
开头的规则将不匹配。你只需要:

RewriteRule ^betNow/$ index.php?action=betNow [L]
RewriteRule ^betNow/([0-9]+)$ index.php?action=betNow&id=$2 [L]
你可以用

http://localhost/project/betNow/  --> index.php?action=betNow
http://localhost/project/betNow/4 --> index.php?action=betNow&id=4

您已经定义了您的
RewriteBase/project/
,您的站点显然位于
http://localhost/project/
-所以当您呼叫
http://localhost/project/betNow/
交给重写规则的请求字符串只是
betNow/

因此,以
^(.*)/betNow
开头的规则将不匹配。你只需要:

RewriteRule ^betNow/$ index.php?action=betNow [L]
RewriteRule ^betNow/([0-9]+)$ index.php?action=betNow&id=$2 [L]
你可以用

http://localhost/project/betNow/  --> index.php?action=betNow
http://localhost/project/betNow/4 --> index.php?action=betNow&id=4
规则不应该是吗

RewriteEngine On
Options +FollowSymlinks
RewriteBase /project/

RewriteRule ^betNow/$ index.php?action=betNow [L]
RewriteRule ^betNow/([0-9]+)$ index.php?action=betNow&id=$2 [L]
您可能还需要在重写规则中的两个
^
字符后加一个
/

规则是否应该

RewriteEngine On
Options +FollowSymlinks
RewriteBase /project/

RewriteRule ^betNow/$ index.php?action=betNow [L]
RewriteRule ^betNow/([0-9]+)$ index.php?action=betNow&id=$2 [L]

您可能还需要在重写规则中的两个
^
字符后面加一个
/
,而不是localhost/project/betNow/id=4。请尝试:localhost/project/betNow/id/4

和使用:

RewriteRule ^(.*)/betNow/id/([0-9]+)$ index.php?action=betNow&id=$2 [L]

尝试:localhost/project/betNow/id/4而不是localhost/project/betNow/id/4

和使用:

RewriteRule ^(.*)/betNow/id/([0-9]+)$ index.php?action=betNow&id=$2 [L]

提示:您可能需要添加/?在regexp的末尾,这样当人们在URL的末尾键入(或不键入)斜杠时,就不会出现错误。因此,它变成:^(.*)/betNow/([0-9]+)/?$--根据下面的答案进行调整。提示:您可能需要添加/?在regexp的末尾,这样当人们在URL的末尾键入(或不键入)斜杠时,就不会出现错误。因此,它变成:^(.*)/betNow/([0-9]+)/?$--调整到下面的答案。