如何更改以下网址
从:
http://localhost/autoquest/index.php/autos?category=camry
为:
http://localhost/autoquest/index.php/autos/camry
使用codeigniter。类别选项camry来自选择选项,例如:
<select id="category" name="category" onchange="this.form.submit()">
<option value="camry">car 1</option>
<option value="octavia">car 2</option>
<option value="volvo">car 3</option>
</select>
我认为第二个网址在SEO方面更好我错了吗?
谢谢大家。
答案 0 :(得分:2)
你看过config/routes.php
了吗?您可以在那里定义重写规则。如果您将配置参数index_page
(在config/config.php
中)设置为空,则也可以删除index.php
。但是您应该阅读有关网址的文档:http://ellislab.com/codeigniter/user_guide/general/urls.html
答案 1 :(得分:1)
您是否在Codeigniter配置中启用了查询字符串?
这是第155行附近的application / config / config.php:
$config['enable_query_strings'] = FALSE;
如果设置为FALSE,则您不应该像您建议的那样使用查询字符串,但实际上使用默认的搜索引擎友好的基于URL的URL。如用户指南中所述。所以你的URL自动是
http://localhost/autoquest/index.php/autos/camry
而不是
http://localhost/autoquest/index.php/autos?category=camry
如需了解更多信息,请在此处查看精彩的用户指南:http://ellislab.com/codeigniter/user_guide/general/urls.html
希望这有帮助。
答案 2 :(得分:0)
你可以这样做........当你提交这个表格时调用一个javascript函数。将您的选项值作为参数发送给该函数。在该函数中使用window.href函数分配你的base_url +'/'+ controller_name +'/'+ function_name_in_controller +'/'+ option_value .....。
从控制器中的该功能调用您的视图文件.......
答案 3 :(得分:0)
除此之外,
您可以通过在root中的.htaccess中编写以下代码来删除index.php。
RewriteEngine On
RewriteBase / yoursitefolder
RewriteCond%{REQUEST_URI} ^ system。*
RewriteCond $ 1!^(index.php | images | js | css | robots.txt)
RewriteRule ^(。*)$ /index.php/$1 [L]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule ^(。*)$ index.php / $ 1 [L]
选项 - 索引
DirectoryIndex index.php
答案 4 :(得分:0)
- 试试这个 - 在routes.php中更改
$route['autos'] = 'YourController/yourMethod/$1";
- 并且改变你的链接就像这样。
<?php echo base_url().'autos/'.$parameter;?>
- 没有index.php的url对于SEO更好,你可以通过在.htaccess文件中添加以下代码来删除它,该文件位于根目录中,如果不存在则创建它并将以下代码粘贴到其中。
<ifModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
</ifModule>