2012-11-21 29 views
0

我怎樣才能改變以下網址笨 - 更改URL更好的SEO

來自:

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

到:

http://localhost/autoquest/index.php/autos/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> 

我認爲第二個網址在搜索引擎優化方面是更好的是我錯了嗎?

謝謝大家。

回答

1

是否啓用在你笨配置查詢字符串?

那的application/config/config.php文件圍繞行155:

$config['enable_query_strings'] = FALSE; 

如果設置爲FALSE,你不應該能夠按照你的建議,你已經是使用查詢字符串,但實際上使用默認的基於搜索引擎的細分網址。正如用戶指南中所述。所以,你會自動網址被

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

,而不是

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

欲瞭解更多信息,請看一看神奇userguide這裏:http://ellislab.com/codeigniter/user_guide/general/urls.html

希望這有助於。

+0

感謝您的迴應。你的解決方案几乎是我想要的,但問題是,該網站的某些部分已經使用查詢字符串,我不想優化SEO的這些領域。 謝謝 – Slimtugo

+0

CodeIgniter沒有被設計成與QueryString一起使用。雖然有可能,但我建議您使用http://www.codeigniter.com/user_guide中提供和描述的正確路由方法 – Gavin

0

你可以這樣做........當你提交這個表單時調用一個javascript函數。將您的選項值作爲參數發送給該函數。在那個函數中使用window.href函數分配你的base_url +'/'+ controller_name +'/'+ function_name_in_controller +'/'+ option_value .......

從該函數在控制器調用視圖文件.......

+0

我正在努力做到這一點沒有javascript – Slimtugo

0

除上面,

您可以通過在根你的.htaccess寫下面的代碼刪除的index.php。


RewriteEngine敘述在

RewriteBase/yoursitefolder

的RewriteCond%{REQUEST_URI} ^系統*

的RewriteCond $ 1→(的index.php |!圖片| JS | CSS |機器人。TXT)

重寫規則^(。*)$ /index.php/$1 [L]

的RewriteCond%{} REQUEST_FILENAME!-f

的RewriteCond%{} REQUEST_FILENAME!-d

重寫規則^(。*)$的index.php/$ 1 [L]

選項-Indexes

的DirectoryIndex的index.php


0

- 嘗試這個 -change在routes.php文件

$route['autos'] = 'YourController/yourMethod/$1"; 

-and變化讓您在教職員的環節是這樣的。

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

-and網址沒有的index.php很多的搜索引擎優化更好,你可以通過添加下面的代碼到你的.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>