Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 ApacheHTAccess重写url以实现seo友好性_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php ApacheHTAccess重写url以实现seo友好性

Php ApacheHTAccess重写url以实现seo友好性,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正在尝试和失败的时刻重写我的搜索引擎优化友好的网址。你能指出我哪里出了问题吗 我正在尝试重写此url: http://www.chillisource.co.uk/product?&cat=Grocery&q=Daves%20Gourmet&page=1&prod=B0000DID5R&prodName=Daves_Insanity_Sauce 为此: http://www.chillisource.co.uk/product/Grocery/Dave

我正在尝试和失败的时刻重写我的搜索引擎优化友好的网址。你能指出我哪里出了问题吗

我正在尝试重写此url:

http://www.chillisource.co.uk/product?&cat=Grocery&q=Daves%20Gourmet&page=1&prod=B0000DID5R&prodName=Daves_Insanity_Sauce
为此:

http://www.chillisource.co.uk/product/Grocery/Daves%20Gourmet/1/B0000DID5R/Daves_Insanity_Sauce
这是我的.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteRule ^product/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+) /product?&cat=$1&q=$2&page=$3&prod=$4&prodName=$5
第一部分允许我在filenane中不使用.php

当我尝试转到以下位置时,当前会出现错误500:

我读过mod_rewrite,但我是一个新手程序员,觉得很难。我不知道如何将url中的变量$1、$2、$3、$4、$5传递到另一端,([a-zA-Z0-9]+)正确吗


提前感谢。

$1对应于重写规则第一部分中的第一组括号$2到第二组括号,依此类推

Daves%20Gourmet
包含一个空格字符,该字符在第二个模式中未被考虑,即第二组括号之间的内容。同样,您没有注意url中的
\uuu

我想试试这个

RewriteRule ^product/([a-zA-Z]+)/([\sa-zA-Z0-9]+)/([0-9]+)/([A-Z0-9]+)/([a-zA-Z_]+) /product?&cat=$1&q=$2&page=$3&prod=$4&prodName=$5

假设页面参数始终为整数,并且第四个参数仅包含大写字母

谢谢你,这对以后的使用很有帮助,你可以看看下面的网站。一些非常好的已在运行的重写代码: