Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
codeigniter-更改url以实现更好的搜索引擎优化_Codeigniter_Seo_Codeigniter Routing - Fatal编程技术网

codeigniter-更改url以实现更好的搜索引擎优化

codeigniter-更改url以实现更好的搜索引擎优化,codeigniter,seo,codeigniter-routing,Codeigniter,Seo,Codeigniter Routing,如何更改以下url 发件人: 致: 使用codeigniter。类别选项凯美瑞来自一个选择选项,例如: <select id="category" name="category" onchange="this.form.submit()"> <option value="camry">car 1</option> <option value="octavia">car 2</option> <option

如何更改以下url

发件人:

致:

使用codeigniter。类别选项凯美瑞来自一个选择选项,例如:

<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>

汽车1
汽车2
汽车3
我认为第二个网址在搜索引擎优化方面更好,我错了吗


谢谢大家。

您看过
config/routes.php
了吗?您可以在那里定义重写规则。如果将配置参数
index\u页面
(在
config/config.php
中)设置为空,也可以删除
index.php
。但是您应该阅读关于URL的文档:

您有没有看过
config/routes.php
?您可以在那里定义重写规则。如果将配置参数
index\u页面
(在
config/config.php
中)设置为空,也可以删除
index.php
。但是您应该阅读有关URL的文档:

您可以这样做……。提交此表单时,请调用javascript函数。将选项值作为参数发送到该函数。在该函数中,请使用window.href函数在\u controller+'/'+选项中为基本\u url+'/'+控制器\u name+'/'+函数\u name\u分配值


从controller中的该函数调用视图文件……

您可以这样做……。提交此表单时,调用javascript函数。将选项值作为参数发送到该函数。在该函数中,请使用window.href函数在\u controller+'/'+选项中为基本\u url+'/'+控制器\u name+'/'+函数\u name\u分配值


从controller中的该函数调用您的视图文件……

您是否在Codeigniter配置中启用了查询字符串

第155行是application/config/config.php:

$config['enable_query_strings'] = FALSE;
如果设置为FALSE,您就不能像建议的那样使用查询字符串,但实际上使用默认的搜索引擎友好的基于段的URL。如用户指南中所述。因此,您的URL将自动

http://localhost/autoquest/index.php/autos/camry

而不是

http://localhost/autoquest/index.php/autos?category=camry

有关更多信息,请查看此处的《奇妙用户指南》:


希望这能有所帮助。

您是否在Codeigniter配置中启用了查询字符串

第155行是application/config/config.php:

$config['enable_query_strings'] = FALSE;
如果设置为FALSE,您就不能像建议的那样使用查询字符串,但实际上使用默认的搜索引擎友好的基于段的URL。如用户指南中所述。因此,您的URL将自动

http://localhost/autoquest/index.php/autos/camry

而不是

http://localhost/autoquest/index.php/autos?category=camry

有关更多信息,请查看此处的《奇妙用户指南》:

希望这能有所帮助。

除了上述内容

您可以通过在根目录中的.htaccess中编写以下代码来删除index.php


重新启动发动机

重写基本/站点文件夹

重写COND%{REQUEST_URI}^系统*

1美元^(index.php | images | js | css | robots.txt)

重写规则^(.*)$/index.php/$1[L]

重写cond%{REQUEST_FILENAME}-f

重写cond%{REQUEST_FILENAME}-d

重写规则^(.*)$index.php/$1[L]

选项-索引

DirectoryIndex.php


以及上述内容

您可以通过在根目录中的.htaccess中编写以下代码来删除index.php


重新启动发动机

重写基本/站点文件夹

重写COND%{REQUEST_URI}^系统*

1美元^(index.php | images | js | css | robots.txt)

重写规则^(.*)$/index.php/$1[L]

重写cond%{REQUEST_FILENAME}-f

重写cond%{REQUEST_FILENAME}-d

重写规则^(.*)$index.php/$1[L]

选项-索引

DirectoryIndex.php


-试试这个 -routes.php中的更改

$route['autos'] = 'YourController/yourMethod/$1";
-改变你的链接,就像这样

<?php echo base_url().'autos/'.$parameter;?>

-对于SEO来说,不带index.php的url要好得多,您可以通过将下面的代码添加到.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>

选项+FollowSymLinks
重新启动发动机
重写cond%{REQUEST_FILENAME}-s
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
1美元^(索引\.php | images | robots\.txt)
重写规则^(.*)$index.php/$1[L]
-试试这个 -routes.php中的更改

$route['autos'] = 'YourController/yourMethod/$1";
-改变你的链接,就像这样

<?php echo base_url().'autos/'.$parameter;?>

-对于SEO来说,不带index.php的url要好得多,您可以通过将下面的代码添加到.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>

选项+FollowSymLinks
重新启动发动机
重写cond%{REQUEST_FILENAME}-s
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
1美元^(索引\.php | images | robots\.txt)
重写规则^(.*)$index.php/$1[L]

如何将第一个url重写为第二个url?如何将第一个url重写为第二个url?我尝试在没有Javascript的情况下执行此操作我尝试在没有Javascript的情况下执行此操作谢谢您的回复。你的解决方案几乎就是我想要的,但问题是,网站的某些部分已经使用了querystring,我不想优化这些搜索引擎优化区域。ThanksCodeIgniter不是为QueryString设计的。虽然这是可能的,但我建议您使用《感谢您的回复》中提供和描述的正确路由方法。你的解决方案几乎就是我想要的,但问题是,网站的某些部分已经使用了querystring,我不想优化这些搜索引擎优化区域。ThanksCodeIgniter不是为QueryString设计的。虽然这是可能的