2

「きれいなURL」のようなものを使ったことはありませんが、これを修正する必要があり、方法がわかりません。だから私はphpでこの関数を持っています:

function niceUrl()
{
    // getting variable based on .htaccess
    $request = $_GET['tlederPageId'];
    var_dump($request);
    $vars = explode("/", $request);

    return $vars;
}

このvar_dumpはNULLのみを出力します

そしてこれは.htaccessにあります:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)(.*)/?$ index.php?tlederPageId=$1&%{QUERY_STRING}

そして、私にはそれがどのように機能するべきか見当がつかない。どこで助けを探すべきかさえわかりません。誰かが私にそれを説明できますか?前もって感謝します。

4

1 に答える 1

0

よし、あなたが提供した投稿を分解しましょう: "pretty urls": 通常、SEO に適した URL として定義され、2 つのことを説明します。

1、特定のカテゴリ

2、そのカテゴリーの特定の主題

(注) これは、サブジェクトにカテゴリーがなければならないという意味ではありません

上記の例 1 を使用すると、きれいな URL に http://www.animals.com/dogs/のようなものを含めることができます。

上記の例 2 を使用すると、きれいな URL に次のようなものを含めることができます: http://www.animals.com/dogs/bulldogs/

上記の「メモ」を使用してください。相対ドメイン名を持つことは、サブジェクトを持つために必ずしもカテゴリを持つ必要はありません。のようなもの: http://www.bulldogs.com/american-bulldogs/

あなたの「.htaccess」に関して、この行は私には奇妙に思えます:

RewriteRule (.*)(.*)/?$ index.php?tlederPageId=$1&%{QUERY_STRING}

[ANYTHING + ANYTHING = ANYTHING] と言うのと同じ(.*)(.*)ですが、.htaccess はルート ディレクトリ内の index.php というファイルにリクエストを転送し、$_GET 変数の tlederPageId と、合格した。

次に、渡される URL が最初に apache を介して、次に php を介して検証されることを確認するのはあなたの仕事です。

例: "tlederPageId" をキャッチし、変数を使用して PHP を介して前処理を行い、URL が無効であると判断した場合 (例: http://www.bulldogs.com/boxers/ )、それはあなたの404 をスローする責任があり、誰かが有効な URL を渡した場合、その URL を 200 OK として受け入れることになります。これらは、php ヘッダーで設定する必要があります。

于 2012-10-25T02:55:18.097 に答える