1

mu php web サイトに URL 書き換えを実装しました

ここで、リンクを次のように表示する必要があります

mydomain.com/komet-india/Best-Indian-Hill-Stations-1/Delhis-Hotel

ここBest-Indian-Hill-Stations,1,Delhis-Hotelに動的な値があります。別の例も示します

mydomain.com/komet-india/Popular Indian Pilgrimages-2/new-Hotel

ここ

Popular Indian Pilgrimages,2,new-Hotel  

動的な値です。

最初のパラメータはカテゴリ、2 番目は ID、3 番目はホテルの名前です。

これを行うには、次の URL を記述しました。コードを参照してください。

Rewrite Rule (\d+)-(\d+)/(.*)/? hotel-detail.php?title=$1&id=$2&top=$3&hotel=4 [nc]

しかし、それはNOT Foundページという結果です

誰かが私に解決策を教えてくれますか?

4

3 に答える 3

1

私はほとんど同じ問題を抱えていました。そして、これを実現するための最良の方法を手に入れました。.htaccess ファイル

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

URL 解析コード

$url = isset($_GET['url']) ? $_GET['url'] : null;
    $url = str_replace(".html", "", $url);
    $url = str_replace("-", "_", $url);
        //you could use rtrim(); but I had some trouble when the url had the "t" as the ending character.
    //$url = rtrim($url, '.html');
    $url = explode('/', $url);

そうすることで、$url 配列で URL を取得できます。

mydomain.com/komet-india/Best-Indian-Hill-Stations-1/Delhis-Hotel と言う

$url[0] = komet_india
$url[1] = Best_Indian_Hill_Stations_1
$url[2] = Delhis_Hotel
于 2012-04-23T07:08:30.500 に答える
1

このようにルールを書き換えてみてください...

RewriteRule komet-india/(.*)-(\d+)/(.*)$ hotel-detail.php?title=$1&id=$2&top=$3&hotel=4 [NC,L]
于 2012-04-23T07:08:46.823 に答える
0

書き換えルールを以下のものに変更してみてください。それは作成する必要があります

Rewrite Rule (.*)-(\d+)/(.*)/? hotel-detail.php?title=$1&id=$2&top=$3&hotel=4 [nc]

また、komet-india が必要かどうかもわかりません。しかし、あなたのローカルホストが設定されているかわかりません。

于 2012-04-23T07:11:15.927 に答える