在此页面上有许多缩写/首字母缩略词条目:http://abbreviations.wordcrow.com/acronyms/D/
它们是在PHP中生成的:
<a href="/define/<?php echo rawurlencode($abbreviation['title'])?>/">
<strong><?php echo $abbreviation['title']?></strong>
</a>
我使用rawurlencode
,因为许多首字母缩略词包含奇怪的字符,例如#
,&
甚至/
。
以及URL请求,例如:
首先会被送到rawurldecode()
:
$acronym = rawurldecode('DA%26E'); // $acronym would be 'DA&E'.
然后用于数据库查询。
虽然DA&E
没问题,但DA/C
却没有。试试这个网址http://abbreviations.wordcrow.com/define/DA%2FC/,最终会得到http://abbreviations.wordcrow.com/define/DA/C/,这是一个错误页面。
我可以扩展更多代码以识别/define/DA/C/
,但这只是奇怪而且不合理。我尝试了 Chrome 和 Firefox ,它们都会自动将DA%2FC
转换为DA/C
。但是DA%26E
,他们没有。
我做错了什么?
答案 0 :(得分:1)
虽然你需要做你需要做的事情 -
当AllowEncodedSlashes On无法正常工作时我最终使用的选项在这里找到...(使用slugs) - 不仅更快地查找/创建它们,而且它[主要点]更快地解决了我的情况并拥有更多'url juice':)。
原来在这里找到:
http://snipplr.com/view/2809/convert-string-to-slug/
使用修改后的[在我自己的文件中使用]:
http://www.finalwebsites.com/forums/topic/convert-string-to-slug