2011-10-24 73 views
4

我想圍繞重寫Joomla內部的一些網址! 1.7與海基會功能開啓,但似乎無法推測出來:用Joomla SEF重寫自定義網址

下SEF URL存在(菜單):

website.com/local/amsterdam

我會像如下:

http://website.com/local/amsterdam/trends(不存在的) 渲染 http://website.com/local/amsterdam?show=trends ,同時仍顯示所述第一URL。

與.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重寫解決方案,但我已經找到了通過修改(核心)Joomla來實現同樣功能的方法!路由器。

上線的包括47/router.php後:

​​

我增加了以下內容:

$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; 

現在正在加載http://www.website.com/local/amsterdam/trends時,顯示該URL,而http://www.website.com/local/amsterdam的頁面實際上是加載使用?show = trends參數。

對我來說,這是一個比使用mod-rewrite更靈活的解決方案,即使核心文件被修改。您可能希望使用某些條件語句僅在特定條件下運行此代碼。希望能幫助到你。