2012-01-19 13 views
-2

私は$_REQUEST[catid']を使ってクエリでそれを使用するページ(つまりwww.mysite.com/products.php?catid=5)を持っています。私はSEFのURLに切り替えました。www.mysite.com/products/category/5PHPがsefのURLでvarsを要求します

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] 
+1

に役立つデータを一時的に

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

希望を表示するには、以下を使用することができます。 –

+1

どのようにSEFに切り替えたかによって異なります。 htacess 'rewriteRules'?いくつかのフレームワーク? – J0HN

+0

元の投稿を更新して、SEF URLの作成に使用した方法に関する情報を追加しました。 Btw、そのJoomlaのサイトと私はちょうど私が様々なチュートリアルで見つけたいくつかの方法を使用しました。 – bikey77

答えて

0

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

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

このルールはwww.mysite.com/index.php?url=products/category/5にURL www.mysite.com/products/category/5を書き換えます。この時点から、変数$_GET["url"]を解析するか、書き換えルールを修正することができます。 PHPを使用して、以下のコードで現在のURLを取得し、

www.mysite.com/のリテラルの例を使用して、以下のように要素の値を取得することができます構築するために開始する前にhtaccessファイルが有効になるので

+0

元の投稿を確認してください。私はhtaccessファイルの詳細を更新しました。 – bikey77

0

製品/カテゴリー/ 5

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

あなたはHTTP含まれている場合:URLに//を、その要素数は5である必要がありますが、IDは常になることを知っていれば私は

OR ...と考えています最後の要素

配列の最後の要素を取得する
$id_variable = $elements[(count($elements)-1)]; 

あなたは常に、これはあなたがSEFに切り替えるために使用する方法を説明していなかったので、唯一のあなたが答えを知ることができる

関連する問題