3

我正在使用 codeigniter 路由进行 URL 屏蔽。在这里,我允许用户输入一个文本,该文本将是他在特定 URL 下提供的详细信息的 URL。

即,如果用户输入“offer1”,那么他的优惠详情将在

offer.com/offer/offer1

在这里,我只接受字母和数字作为 URL 文本。我应该允许“。”吗?在 URL 文本中?我应该在这里遵循什么标准方法?

4

3 回答 3

0

当用户输入报价名称时,将其作为$offer_name并使用base64_encode($offer_name);

$encoded_name = base64_encode($offer_name);

将此发送$encoded_name到 url ............如果你想使用提供名称进一步解码它使用base64_decode($encoded_name);

于 2013-02-05T05:24:45.087 回答
0

您可以"."通过"."在.$config['permitted_uri_chars']config.php

于 2013-09-05T11:56:58.000 回答
0

如果你需要“。” 您可以将其保留在 urls 中,如果您随后使用 url 参数运行查询,只需在运行查询之前转义参数即可。

通常我会301 redirect判断base_url();url 参数是否有问题。

只是我的 2 美分

于 2013-02-05T10:41:47.757 回答