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_Mod Rewrite - Fatal编程技术网

Php .htaccess重写规则给定错误

Php .htaccess重写规则给定错误,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,如果$bname=“购物时间”或$bname=“购物时间”,则.htaccess中的上述代码可以正常工作。并给出以下链接 购物指南-b1.html 或 要去的地方:shopping-b1.html 但是如果$bname=“Time:to go shopping”上面给出了一个坏链接。 购买时间:去购物-b1.html因此,您的问题似乎只是regex中的buy-与下一个URL中的buy-的情况。如果是这样,那么您只需要no case[NC]标志: RewriteRule ^Buy\-(.*)-b(

如果$bname=“购物时间”或$bname=“购物时间”,则.htaccess中的上述代码可以正常工作。并给出以下链接 购物指南-b1.html 或 要去的地方:shopping-b1.html

但是如果$bname=“Time:to go shopping”上面给出了一个坏链接。
购买时间:去购物-b1.html

因此,您的问题似乎只是regex中的
buy-
与下一个URL中的
buy-
的情况。如果是这样,那么您只需要no case
[NC]
标志:

RewriteRule ^Buy\-(.*)-b(.*)\.html productdetails.php?bname=$1&bid=$2

我还冒昧地添加了
\d+
,这是我在问题的最后一个链接中忘记键入-b1后缀的打字错误。它本来就在那里。点击链接,它会显示坏链接,我怀疑你的问题描述不正确。尝试启用
重写日志
,以找出问题的根源。我对这一点不熟悉,我该怎么做?只需将RewriteLog放入.htaccess或在.htaccess中键入RewriteLog。这两种方法在使用重写规则的任何页面上都会出现500个内部服务器错误,无论是上面提到的页面还是其他页面
 RewriteRule  ^Buy\-(.*)-b(\d+)\.html  ...?bname=$1&bid=$2  [NC]