urlrewrite.php 中有一条规则
1 =>
array (
'CONDITION' => '#^/news/([0-9a-zA-Z-]+)/#',
'RULE' => 'ELEMENT_CODE=$1',
'ID' => '',
'PATH' => '/news/detail.php',
'SORT' => 100,
),
有一个物理文件夹 /news 和文件 detail.php
在新闻组件的URL设置中,写着#ELEMENT_CODE#
也就是说,在mysite.com/news/odna_novost
我应该进入detail.php文件的地址,但是这个规则不起作用,我看到一个404页面。
此外,来自 urlrewrite.php 文件的所有其他规则都有效。
我试图在文件中提高规则。现在它是数组中的第一个,但它仍然没有帮助。可以做什么?
如果在正则表达式中添加下划线,那么一切正常:
但前提是 URL 末尾有斜杠
mysite.com/news/odna_novost/
如果 URL 末尾不需要斜杠,则将其从正则表达式中删除:
建议在网站上使用一种逻辑:要么所有页面的末尾都有斜线,要么没有。所以不会有混乱,也不会在搜索引擎中出现重复的页面。
作为一种选择,为了使所有页面的末尾都添加一个斜线
/
,您必须在文件中添加以下行.htaccess
: