2010-05-28 1 views
0

У меня есть какая-то форма на сайте, где пользователи могут добавлять новые страницы. Я должен генерировать дружественные URL-адреса SEO и сделать эти URL уникальными. Какие символы можно отобразить в URL, я знаю, что пробелы следует преобразовать, чтобы подчеркнуть:Преобразование названия пользователя (текста) в URL, что вместо пробелов, #, & и других символов?

«„->“_» и перед ним - подчеркивает что-то другое, например:

«_» - >/underscore

Легко сделать заголовок с URL-адреса назад.

Но в моем конкретном названии может быть все символы с клавиатуры, даже: @ #%: "{/ \ ';.>

Есть некоторые противопоказания к не использовать эти символы в URL

?

Важна:

-легко генерирующий URL и название от URL обратно (без запросов к базе данных)

-Каждый заголовка являются уникальными, поэтому URL должен быть слишком

-SEO дружественные URL-адреса

ответ

1

Вы не запрашиваете базу данных, чтобы получить контент в любом случае? В этом случае просто возьмите поле заголовка в том же запросе.

Единственный способ надежно вернуть заголовок с URL-адреса - это «URL-кодировать» его (в PHP вы используете функцию urlencode()). Тем не менее, вы будете в конечном итоге с URL, как это:

My%20page%20title 

Вы не можете заменить любые символы, потому что вы тогда не имеют уникальные URL. Если вы заменяете пространства с подчеркиванием, например, следующие заголовки будут все производить тот же URL:

My page title 
My_page title 
My_page_title 

Короче говоря: не беспокойтесь об один дополнительный хит базы данных и использовать только SEO дружественных URL-адресов путем ограничения на нижний регистр az, 0-9 и тире, например my-page-title. Как я уже сказал, вы можете просто взять все в одном запросе.

+0

Да, но я могу иметь больше проблем с вставкой записей (мы должны генерировать уникальный url) и дополнительный столбец в таблице. Я могу преобразовать, в первую очередь, undescores в, например, «(.)», А затем пробелы для undescores, поэтому это не проблема. – Thomas

+0

Но ссылка будет: http://example.com/page_sdf(.)sdf Так что это не SEO-friendly, я думаю. Но когда я просматриваю страницы в Википедии, я вижу много таких ссылок, например: http: //pl.wikipedia.org/wiki/A* или http://pl.wikipedia.org/wiki/%22Ad_leones!%22 – Thomas

+0

И Важным является то, что обычные ссылки (без подчеркиваний и других странных символов) будут намного меньше на моем веб-сайте. – Thomas

Смежные вопросы