2013-03-03 2 views
1

Я использую CodeIgniter Я создал выпадающий список с точкой зрения какназвание страны указано в url?

<?php echo form_open('trip/result', array('method' => 'get')); ?> <div class="row-fluid"> <div class="main-form"> <select name="look_for" class="span4"> <option selected="selected" value="0"> choose country </option> <option value="US">USA</option> <option value="EN">England</option> <option value="FR">France</option> </select> Я хочу полное название страны появляется в URL, у меня есть много страны поэтому у меня есть таблицы в базе данных для значений в подобном (EN- US-FR), поэтому я хочу отправить полное имя и символ каждой страны, чтобы они отображались в URL-адресе, чтобы сделать SEO полезным для веб-сайта.

+0

Я хочу, например, когда пользователь выбирает Англию ... слово Англия появляется в url как www.prototype/EN/Engaland –

ответ

1

Вы ищете дружественные URL-адреса! Есть много статей о них по всему Интернету. Просто Google для friendly url apache, если вы используете веб-сервер Apache, например! Я уже сделал это для вас! Примеры: Friendly url using php and htaccess или Use Apache's mod_rewrite to make URLs more user friendly.

В вашем случае вы должны изменить значение полей option на длинное имя страны, но не забудьте фильтровать специальные символы, такие как пробелы или кавычки! Фактически, вы должны создать другой столбец в таблице стран вашей базы данных, содержащий «slug» для каждой страны. Так, например, «Соединенное Королевство» станет «объединенным королевством». Для этого есть некоторые функции, like this one!

Если вы используете Apache, ваш .htaccess может выглядеть следующим образом:

RewriteEngine on 
RewriteRule ^countries/([a-zA-Z]+)$ ./countries.php?country=$1 [L] 

Затем в файле countries.php, вы бы искать базу данных для сопоставления страны!

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