簡體   English   中英

用Joomla SEF重寫自定義網址

[英]Rewrite custom urls with Joomla SEF

我正試着在Joomla內部重寫一些網址! 1.7打開SEF功能但似乎無法弄清楚:

存在以下SEF URL(菜單項):

website.com/local/amsterdam

我想要的是以下內容:

http://website.com/local/amsterdam/trends (不存在)在顯示第一個網址時呈現http://website.com/local/amsterdam?show=trends

使用.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中做任何想法以及實現這一目標的任何不同解決方案! 提前致謝。

雖然我最初在尋找一個mod-rewrite解決方案,但我已經找到了通過修改(核心)Joomla來實現相同目標的方法! 路由器。

在includes / router.php的第47行之后:

$path = substr_replace($path, '', 0, strlen(JURI::base(true)));

我添加了以下內容:

$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更靈活的解決方案,即使修改了核心文件。 您可能希望使用某些條件語句僅在特定條件下運行此代碼。 希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM