我正在制作一个包含文章的网站,并且我需要文章根据标题具有“友好”的 URL。
例如,如果我的文章标题是"Article Test",我希望 URL 是http://www.example.com/articles/article_test。
"Article Test"
http://www.example.com/articles/article_test
但是,文章标题(作为任何字符串)可以包含多个特殊字符,这些字符无法在我的 URL 中按字面意思输入。例如,我知道?或#需要更换,但我不知道所有其他人。
?
#
URL 中允许使用哪些字符?什么是安全的?
引用RFC 3986的第 2.3 节:
URI 中允许但没有保留用途的字符称为未保留字符。这些包括大写和小写字母、十进制数字、连字符、句点、下划线和波浪号。 ALPHA DIGIT "-" / "." / "_" / "~"
URI 中允许但没有保留用途的字符称为未保留字符。这些包括大写和小写字母、十进制数字、连字符、句点、下划线和波浪号。
ALPHA DIGIT "-" / "." / "_" / "~"
请注意,与旧的RFC 2396相比,RFC 3986 列出的保留标点符号更少。