Некоторые комментарии / предложения
- заменить все пробелы подчеркиванием (как насчет переноса вместо подчеркивания, как теги в SO)
- убрать начальные / конечные запятые и точки (также начальные / конечные пробелы)
- удалить все одинарные / двойные кавычки (начальные и конечные, если не заменить дефисами)
- убрать все знаки вопроса (как и выше, а также все другие знаки пунктуации, такие как «» (левые / правые двойные кавычки) и такие символы, как%, = и т. Д. И т. Д.)
& становится русским словом для 'и' (Вы имеете в виду и? должен читаться без необходимости кодирования URL)
Обновление:
* преобразование всех символов в нижний регистр (довольно субъективно, но это обычная практика и более удобочитаемо, чем весь верхний регистр)
Еще одно предположение, это трюк, который я использовал, чтобы проверить, не содержит ли мой путь URL-адреса или слизняк строку в кодировке urlencoded. После того, как я сформулировал строку слага, я выполню код urlencode и сравню его с предварительно закодированным. Они должны быть одинаковыми.
Пример для этого поста: если слаг был "permalink-slug:best-practices
", то урлен-кодированный будет "permalink-slug%3Abest-practices
", на самом деле не читаемый и побеждающий цель слага, с которой вы будете знать / соглашаться. Так что действительно легко узнать, что оригинальная строка не работает, потому что после urlencoding она отличается.