0

codeigniter url rewrite のコードを書き直したいです。

次のコードを使用しました。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /test/index.php?/$1 [L]
RewriteRue ^list/shows/cid-([0-9]+).html /list/shows?cid=$1

注:「テスト」は私のウェブサイトのディレクトリです。

index.php の除去にうまく機能しています。ただし、URLの書き換えには機能しません

http://example.com/test/list/shows?cid=1を作りたい

なる

http://example.com/test/list/shows/cid-1.html

前もって感謝します。

4

2 に答える 2

1

フレームワークに組み込まれているルーティング機能を使用してみませんか?

次のようなものを簡単に追加できますapplication/config/routes.php

$route['list/shows/cid-([0-9]+)'] = '/list/shows/$1';

URLサフィックスとして設定すると考慮されないため、その部分は省略しまし.html

編集:OPの最初のコメントに従って更新されました(私のコメントを回答に移動しました)

現在、すべてのリクエストはこのディレクティブによってキャプチャされます。

RewriteRule ^(.*)$ /test/index.php?/$1 [L]

diEcho が提案したように、カスタム ルールをRewriteEngine Onディレクティブの直後に移動して、RewriteRuleタイプミスを修正し、ルールに a を追加してみてください。[L]

于 2012-09-18T07:52:21.030 に答える
0

試す

RewriteEngine on
RewriteBase /test
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /test/index.php/$1 [NC,L]
RewriteRule ^list/shows/cid-([0-9]+).html /list/shows?cid=$1 [NC]
于 2012-09-18T06:49:44.263 に答える