[英]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.