我正在创建一个CMS制作简单版本1.11.11的网站,我使用listit2模块版本1.4.1。
现在,此模块只能生成以下格式的网址:
http://example.com/listit2/item-alias/page-id
现在,我不关心用于显示正确模板的页面ID,
但由于这是一个多语言网站,我希望listit2能够在我的(虚拟)语言文件夹后面显示:
http://example.com/lang/listit2/item-alias/page-id
所以我在htaccess文件中添加了2条重写行, 就在CMSMS的一般重写规则之前。
RewriteCond %{HTTP_HOST} ^lang/listit2 [NC] RewriteRule ^lang/listit2(.*)$ listit2$1 # Rewrites urls in the form of /parent/child/ # but only rewrites if the requested URL is not a file or directory RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA]
但这似乎不起作用,因为它生成摘要概述而不是像http://example.com/listit2/page-id
中的内容那样的详细信息页面我怎么解决这个问题?
答案 0 :(得分:0)
这就是诀窍
RewriteEngine on RewriteBase / #Virtual folders for listit2 RewriteRule ^lang/listit2(.*)$ index.php?page=listit2$1 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA]
答案 1 :(得分:0)
这不是一个.htaccess问题。这是ListIt2模块中的URL生成问题。
在摘要模板中,您需要将自己的自定义网址放在href中,而不是使用detail_url的标准变量。
例如类似的东西(此代码不是测试,检查实际变量的文档)
<a href="{root_url}/lang/listit2/{$item->item_alias}/{$content_id}" title="Read more about {$item->title}">Read More...</a>