-1

こんにちは私は今1週間、カスタムビルドサイトのいくつかのURLを修正しようとしていますが、私が望むことを100%達成することはできません。だからここに私の質問があります:

イベントを管理するphpランディングページがあります。デフォルトのURL構造は次のとおりです。

foreach($resultSet as $key => $event)
{
    echo '<a href="/event.php?eid='.$event['eid'].'&cat='.$event['categroy'].'&title='.urlencode($event['title']).'">content</a>';
}

ご覧のとおり、URL形式は次のようになります

/event.php?eid=145&cat=metal&title=Great+gig

htaccessでやりたいのはこんな感じ

domain.com/event/metal/Great gig

私はhtaccessガイドを読んでいますが、URLのより多くのtahn1パラメータで動作させることはできません。アドバイスしてください。ありがとうございます。

4

1 に答える 1

0
  1. 次のようなURLを生成するようにphpコードを変更しますdomain.com/event/metal/Great gig

    echo '<a href="/event/'.$event['eid'].'/'.$event['categroy'].'/'.urlencode($event['title']).'">content</a>';
    

    (この'category'例では、のつづりが間違っていることに注意してください)

  2. これらのルールをドキュメントルートのhtaccessファイルに追加します。できれば、すでに存在する可能性のあるルールの上に追加します。

    RewriteEngine On
    RewriteRule ^/?event/([^/]+)/([^/]+)/(.+)$ /event.php?eid=$1&cat=$2&title=$3 [L,QSA]
    

さらに、制御不能なリンクがまだクエリ文字列を持っている場合は、次のルールを追加できます。

RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /event\.php\?eid=([^&]+)&cat=([^&]+)&title=([^\ ]+)
RewriteRule ^ /event/%2/%3/%4? [L,R=301]
于 2012-12-11T11:57:47.673 に答える