0

我一直在尝试几种变体来让我的服务器重定向 - 但似乎都失败了。:(

这是我的网址:

"meaty-monster-bikes.zz-reviews.com/monster-bikes/p1c9.html" 

现在我想在变量中收集的数据是之后的部分

"meaty-monster-bikes.zz-reviews.com/" 

所以在这种情况下,我想要“怪物自行车”和“p1c9”

然后使用收集的变量,服务器可以重定向到:

"zz-reviews.com/index.php?p=1&c=9&k=monster-bikes" 

我已经在我的.htaccess文件中尝试了这个:

Options +SymLinksifOwnerMatch
RewriteEngine On

RewriteRule ^[\.0-9-a-z]+/([-a-z]+)/p([0-9]+)pg([0-9]+)\.html$ index.php?p=$2&c=$3&k=$1 [NC,QSA,L]

我也试过:

RewriteCond %{HTTP_HOST} ^[.+].zz-reviews.com/([-a-z]+)/[.+]$ [NC]

RewriteRule ^[\.0-9,:\/-a-z]+p([0-9]+)c([0-9]+)\.html$ index.php?p=$1&c=$2&k=%1 [NC,QSA,L]

据我所知,两者都应该工作,但都没有。

这是网页:

http://zz-reviews.com/index.php?p=1&c=9&k=monster-bikes

如果您单击“怪物自行车”类别

你会看到这个网址:

http://meaty-monster-bikes.zz-reviews.com/monster-bikes/p1c9.html

htaccess 没有正确重定向。

谁能看到我的错误?

谢谢 。

.

4

1 回答 1

1
RewriteRule ^([^./]+)/([a-z]+)(\d+)([a-z]+)(\d+)\.html$ index.php?$2=$3&$4=$5&k=$1 [L,NC]

这是您需要的规则 - 当您访问网址时

肉怪物自行车.zz-reviews.com/monster-bikes/p1c9.html

您将(在幕后)重定向到此网址

肉怪物自行车.zz-reviews.com/index.php?p=1&c=9&k=怪物自行车

说明

^([^./]+)- 在 com 之后开始第一个 arg ( $1) 取所有字符,直到/- 这将取字符串“monster-bikes”

/- url 的 / 字符

([a-z]+)- 后跟 abc 字母(如果有其他严格的,您可以更改它)这将带“p”($2

(\d+)- 后跟数字 - 这将取“1”($3

([a-z]+)- 后跟 abc 字母 - 这将采用 "c" ( $4)

(\d+)- 后跟数字 - 这将采用“9”($5

\.html$- 以字符串“.html”结尾

使用组装参数将其重定向到 index.php:

index.php?$2=$3&$4=$5&k=$1=index.php?p=1&c=9&k=monster-bikes

于 2013-05-08T19:23:36.070 回答