4

重複の可能性:
php でユーザーフレンドリーな seo を使用
する コードイグナイターでのカスタムルーティング

私は CMS を開発していますが、クエリ文字列の代わりにユーザー フレンドリーな URL を使用したいと考えています。

例えば:

mysite.com/cat_1 => mysite.com/cat_1/itme_1

それ以外の

mysite.com/?cat=1 => mysite.com/?item=1

これをどのように実装すればよいですか?標準的な方法はありますか?

私の考えは、半動的ページを使用し、クエリ文字列を使用する動的ページの使いやすい URL で静的スナップショットを生成することです。

4

5 に答える 5

3

これは、.htaccess を使用して URL がクライアントに送信される方法を変更することで実現されます。または、他の人が言うように、URL をきれいにするためです。mod_rewriteこの関数を作成するために必要なルールを開始するのに役立つ記事へのリンクを次に示します。

http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/

http://www.roscripts.com/Pretty_URLs_-_a_guide_to_URL_rewriting-168.html

于 2012-12-05T02:35:06.860 に答える
2

.htaccessURL を内部的に書き換えて、アプリケーションに適切にルーティングするために使用します。

.htaccess探していることを実行する具体的な例を次に示します。

RewriteEngine on
RewriteRule ^cat_([0-9]*) /?cat=$1 [N,QSA]
RewriteRule ^item_([0-9]*) /?item=$1 [N,QSA]

.htaccess上記をルート web フォルダーにあるファイルに入れるだけで、準備完了です。

まだ有効になっていない場合は、Apache サーバーで有効にする必要がある場合があることに注意してくださいmod-rewrite(ほとんどの共有ホスティング プロバイダーでは有効になっています)。

于 2012-12-05T02:32:13.783 に答える
1

この機能は、PHP だけでは実装できません。HTTP サーバーの URL 書き換えを構成する必要があります。これにより、使いやすい URL が、スクリプトが理解できるクエリ文字列に変換されます。Apache の場合は、mod_rewrite通常はファイルを介して構成できる を調べる必要があり.htaccessます。

于 2012-12-05T02:32:57.107 に答える
1

Codeigniter のようなフレームワークを使用できます: http://ellislab.com/codeigniter

そしてレビュー:http://ellislab.com/codeigniter/user-guide/general/urls.html

を有効にmod_rewriteしてファイルを作成する必要があります.htaccess

Codeigniter を使用した .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1 [L]    
</IfModule>

次に、次を使用できます。

example.com/class/function/ID

お役に立てば幸いです。

よろしく。

于 2012-12-05T02:34:47.960 に答える
1

無料で入手できるasp.net mvcを使用してください;)しかし、真剣に言えば、PHPには高度なルーティングも提供するWebエンジン(コードイグナイター)があると思います。また、Apache のブラック マジックを使用して、独自のロールを作成することもできます。

于 2012-12-05T02:36:00.287 に答える