0

サーバーをリダイレクトするためにいくつかのバリエーションを試してきましたが、すべて失敗しているようです。:(

これは私のURLです:

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

変数で収集したいデータは、後の部分です

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

この場合、「monster-bikes」と「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=モンスターバイク

カテゴリ「モンスター バイク」をクリックすると、

次の URL が表示されます。

" 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]

これはあなたが必要とするルールです - あなたがURLに行くとき

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

この URL に (舞台裏で) リダイレクトします

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

説明

^([^./]+)- com の後に始まり、最初の引数 ( $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 に答える