Удаление специальных символов из URL с помощью .htaccess - PullRequest
2 голосов
/ 09 июня 2010

Я пытаюсь использовать URL-адреса на моем сайте, например example.com/@lorem-ipsum-dolor вместо example.com/tag/lorem-ipsum-dolor формы.

Он работает на моем локальном и удаленном серверах, но если URL содержит " : \ * | и т. Д., Он не работает на локальном сервере (Win XP).

  1. Есть ли решение?
  2. Если нет, то я думаю, что мне нужно удалить эти символы из URL на локальном сервере. Я много гуглил по этому поводу, но безрезультатно.

Есть идеи?

1 Ответ

1 голос
/ 09 июня 2010

Эти символы не разрешены в URL.Это действительно важно: ваши URL не пройдут валидацию и могут вызвать технические проблемы, поскольку такие символы, как @ и :, используются в других местах действительного URL.

С RFC 2396 через этот вопрос SO :

Многие URI включают компоненты, состоящие из определенных специальных символов или разделенные ими.Эти символы называются «зарезервированными», поскольку их использование в компоненте URI ограничено их зарезервированным назначением.Если данные для компонента URI будут конфликтовать с зарезервированной целью, то конфликтующие данные должны быть экранированы перед формированием URI.

  reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                "$" | ","
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...