我有一个网址 - http://callisto/news/1st_February_is_here...
- 它有三个尾随点,但是当它通过mod_rewrite并到达脚本(在$ _GET中)时,点被删除了(但剩下的字符串就OK了。
这是htaccess规则:
RewriteRule ^([^/]+)/(.*)$ index.php?__action=site&__filter=$1&__page=$2 [L,QSA]
感谢。
答案 0 :(得分:1)
我认为你使用的是帖子的标题或类似于URI中第三个位置的东西。由于您可能通过此方法通过URI获得了许多其他“破坏”字符,我建议您在将标题附加到URI之前清理标题,并将相同的清理字符串放入数据库以供参考。
删除任何非字母数字的字符,并用连字符' - '替换空格 - 这将确保您不会混淆任何进一步的内容或碰到任何阻止您的URI工作的浏览器特定问题。
$title = '1st February is here...';
$clean_title = preg_replace('/[^a-zA-Z0-9\s]/', '', $title);
$finished_title = str_replace(' ', '-', $clean_title);
运行代码aboce将清除你的标题。
http://callisto/news/1st_February_is_here...
应该成为:
http://callisto/news/1st-February-is-here
或类似的东西。我建议使用连字符而不是下划线的唯一原因是我偶尔会在URI中传递下划线的问题。
另外,我认为你会发现这是Wordpress使用的方法 - 最有可能的原因与你看到这个问题的原因相同。
GL!