国家/地区名称是否显示在网址中?

时间:2013-03-03 13:18:48

标签: php url search codeigniter-url

我正在使用codeigniter我在视图中创建了下拉列表,如

<?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> 我希望国家的全名出现在网址中,我有很多国家/地区所以我在数据库中有类似的表(EN-US-FR),所以我想发送每个国家/地区的全名和符号以显示在URL中使SEO对网站有利。

1 个答案:

答案 0 :(得分:1)

您正在寻找友好的网址!网上有很多关于它们的文章。如果您使用Apache Web Server,只需谷歌friendly url apache即可!我已经为你做了!示例:Friendly url using php and htaccessUse Apache's mod_rewrite to make URLs more user friendly

在您的情况下,您应该将option字段的值更改为国家/地区的长名称,但不要忘记过滤“特殊”字符,例如空格或引号!实际上,您应该在数据库的countries表中创建另一列,其中包含每个国家/地区的“slug”。因此,“英国”将成为“联合王国”。有一些功能可以做到这一点,like this one

如果您使用的是Apache,则.htaccess可能如下所示:

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

然后,在您的countries.php文件中,您将在数据库中搜索匹配的国家/地区!