2011-10-24 46 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更灵活的解决方案,即使核心文件被修改。您可能希望使用某些条件语句仅在特定条件下运行此代码。希望能帮助到你。