2

私が取り組んでいるサイトは、次のようなルールで URL を変更します。

RewriteRule ^(.*)/(.*)/$ string.php?id=$1&slug=$2 [L,NC]

したがって、ID /スラッグを生成します。ID部分を削除したいのですが、スラッグだけを選択する方法がわかりません。やっている:

(.*)/$ string.php?id=$1&slug=$2 [L,NC]

スラッグではなくIDからURLを作成します...

これはおそらく簡単な答えですが、見つかりません...ありがとう!

4

2 に答える 2

0

あなたの問題は slug=$2 を使用していたことだと思いますが、更新された RewriteRule には 2 番目のキャプチャ グループがありませんでした。

RewriteRule ^(.*)/$ string.php?slug=$1 [L,NC]

URL がhttp://www.example.com/slugの場合、これはhttp://www.example.com/string.php?slug=slugを生成します。

于 2012-12-19T03:03:26.073 に答える
0

スラッグのみを照合するには、スラッグを にキャプチャし$1ます。あなたの試みは をキャプチャしました$1が、 に渡しましたid=

# [^/]+ matches everything up to but not including /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ string.php?slug=$1 [L,NC]
于 2012-12-19T00:51:30.160 に答える