1

きれいなURLを作成しようとしていますが、IDの代わりにコンテンツのタイトルをURLに入れたいので、コンテンツのタイトルをクエリ文字列でURLに入れます:

index.php?action=content&id=22

に変更:

index.php?action=content&title=スタックオーバーフロー

それは正常に動作します。今、私はそれをきれいにしようとしていますが、htaccess コードに問題があります。

URL コードで id を削除する前は次のとおりでした。

RewriteRule ^([a-z]+)/([0-9]+)/?$ index.php?action=$1&id=$2 [NC,L,QSA]

それから私は次のように変更しました:

RewriteRule ^([a-z]+)/([a-z]+)/?$ content.php?action=$1&title=$2 [NC,L,QSA]

しかし、それは機能していないので、300 の複数選択ページに戻ります。まあ、それは httaccess の問題だと思いますが、私は htaccess が初めてなので、これを修正するために手を必要としています。

これが欲しい:

/コンテンツ/スタックオーバーフロー

4

1 に答える 1

1

あなたの正規表現は文字のみを許可しています。ハイフン、数字、大文字、およびアンダースコアも許可する必要があります。これを試して:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/([^/]+)/?$ content.php?action=$1&title=$2 [NC,L,QSA]
于 2015-03-13T13:41:28.377 に答える