2011-10-24 4 views
4

Joomla!で内部的にいくつかのURLを書き直したいと思っています! SEFと1.7オンが、それを見つけ出すように見えることはできません特徴:JoomlaのSEFでカスタムURLを書き直す

次SEFのURLは(メニュー項目)が存在する:

website.com/local/amsterdam

私は何だろうまだ最初のURLを表示しながら http://website.com/local/amsterdam?show=trends をレンダリングする

http://website.com/local/amsterdam/trends(非existant) :以下のようです。

.htaccessを以下の作品を使用した作業(ただし、SEFのURLが表示されません):

RewriteRule ^local/amsterdam/trends$ index.php?option=com_content&view=article&id=14&Itemid=176&show=trends [L] 

しかし、これはしていません:

RewriteRule ^local/amsterdam/trends$ local/amsterdam?show=trends [L] 

私はせずに解決策を見つけることを期待していますidを使用してすべての都市の正しいページを動的にレンダリングする必要があります。私は、これを達成するために.htaccessや他のソリューションでこれを行うことについて、どんな考えにも感謝しています!前もって感謝します。

答えて

0

私は当初mod-rewriteの解決策を探していましたが、(コア)Joomla!を変更することによって同じことを達成する方法を考え出しました!ルータ。

後/ router.phpを含んでの47行で:

​​

私は、次を追加しました:

http://www.website.com/local/amsterdam/trendsをロードするときにページ http://www.website.com/local/amsterdamが実際にロードされている間今、このURLが表示されている
$subpages = array("trends","other"); //Add URL segments you want to reroute 
foreach ($subpages as $subpage):    
    if (strstr($path, "/".$subpage)) : 
      $path = str_replace("/".$subpage, "", $path); 
      $vars['show'] = $subpage; 
    endif; 
endforeach; 

?show = trendsパラメータを使用します。

これは、コアファイルが変更されても、mod-rewriteを使用するよりも柔軟な解決方法です。このコードを特定の条件でのみ実行するために、いくつかの条件文を使用することができます。それが役に立てば幸い。