小圆点从URL被剥夺(Trailing dots being stripped from URL)

2019-10-19 18:19发布

我有一个网址- http://callisto/news/1st_February_is_here... -其中有三个小圆点,而是由时间它就会通过mod_rewrite的传递,到达脚本(在$ _ GET)点已被删除(但字符串的其余部分是OK)。

这是htaccess的规则:

RewriteRule ^([^/]+)/(.*)$ index.php?__action=site&__filter=$1&__page=$2 [L,QSA]

谢谢。

Answer 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!



文章来源: Trailing dots being stripped from URL