-2

を使用してカテゴリ ID を取得し、それをクエリで使用するページ (つまりwww.mysite.com/products.php?catid=5) があります。$_REQUEST[catid']SEF URL に切り替えたところ、URL は次のように表示されますwww.mysite.com/products/category/5

catid新しい URL を使用して値を取得するにはどうすればよいですか?

次の行は、SEF URL に切り替えるために .htaccess ファイルで使用されました。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
4

2 に答える 2

0

たとえば mod_rewrite を使用して、対応する URL を書き換える必要があります。

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

このルールは、URLwww.mysite.com/products/category/5を に書き換えますwww.mysite.com/index.php?url=products/category/5。この時点から、変数を解析し$_GET["url"]たり、書き換えルールを改良したりできます。

于 2012-01-19T10:52:49.667 に答える
0

PHP がビルドを開始する前に htaccess が有効になるため、以下のコード スニペットを使用して現在の URL を取得し、次のリテラルの例を使用して要素の値を取得できます。

www.mysite.com/products/category/5

$currentURL = $_SERVER['REQUEST_URI'];
$elements = explode("/",$currentURL);
$id_variable = $elements[3];

URL に http:// を含める場合、要素数は 5 になるはずです。

または ... id が常に最後の要素になることがわかっている場合

$id_variable = $elements[(count($elements)-1)];

配列の最後の要素を取得します。

いつでも次を使用して、データを一時的に表示できます

echo "<div style='background-color:#FFF;'>";
echo ("Elements array:<br>\n");
print_r($elements);
echo "</div>";

お役に立てれば

于 2012-01-19T11:13:43.323 に答える