0

次のURLを変更するにはどうすればよいですか

から:

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

に:

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

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>

私は2番目のURLがSEOの観点からより良いと思います私は間違っていますか?

皆さんありがとう。

4

5 に答える 5

2

ご覧になりましたconfig/routes.phpか?そこで書き換えルールを定義できます。また、configパラメーターindex_page(in config/config.php)を空に設定すると、削除することindex.phpもできます。ただし、URLに関するドキュメントを読む必要があります:http://ellislab.com/codeigniter/user_guide/general/urls.html

于 2012-11-21T10:01:30.437 に答える
1

Codeigniter Configでクエリ文字列を有効にしましたか?

これは、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

詳細については、こちらの素晴らしいユーザーガイドをご覧ください:http ://ellislab.com/codeigniter/user_guide/general/urls.html

お役に立てれば。

于 2012-11-21T12:21:53.163 に答える
0

この方法でそれを行うことができます........このフォームを送信するときは、javascript関数を呼び出します。その関数への引数としてオプション値を送信します。その関数でwindow.href関数を使用して、base_url +'/' + controller_name +'/' + function_name_in_controller +'/' +option_value.....を割り当てます。

コントローラのその関数から、ビューファイルを呼び出します......。

于 2012-11-21T10:02:31.497 に答える
0

上記に加えて、

ルートの.htaccessに次のコードを記述することで、index.phpを削除できます。


RewriteEngineオン

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


于 2012-11-22T07:08:46.530 に答える
0

-これを試してください-routes.phpの変更

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

-そして、このようにveiwでリンクを変更します。

<?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>
于 2015-08-01T10:45:58.623 に答える