2017-12-01 9 views
0

www.mysite.com/a/b/slugwww.mysite.com/a/b/index.php?id=slugに書き換えたいと思います。htaccess内のクエリ文字列へのパス情報の移動に問題があります

パスの最後のセグメント、つまりslugをキャプチャしようとしています。この文字列は、exampleに似ています。

だから、私は.htaccessの次の行は、私のpublic_htmlフォルダに座ってい:私はslugに反対www.site.com/a/b/slug$_GET['id']戻りindex.phpに行くとき、私のa/b/index.php

RewriteEngine on 
RewriteRule ^a/b/([^/]+) a/b/index.php?id=$1 [L] 

。なぜ私は分からない。

最後のセグメントをキャプチャしてクエリ文字列に使用するにはどうすればよいですか?

+1

RewriteCond %{REQUEST_FILENAME} !-dを追加$ _SERVER'変数とRegExを使って 'slug'を取得することができます。この回答を見るhttps://stackoverflow.com/a/3429268/3790921 – Chad

+0

@Chadありがとう。私はそのオプションを検討するだろうが、私は解決策を見つけた。おかげさまで – Mikey

答えて

3

.htaccessに書き換え条件を追加する必要があります。現時点では、/a/b/index.phpも書き換えようとしています。

試しID = slug`は私が一人でURLを残して、ちょうど `使用することになりますがwww.mysite.com/a/b/index.php`見えるようにURLが必要なのでしょうか?RewriteCond %{REQUEST_FILENAME} !-f

+1

私は同じ解を見つけたという一番のコメントに答えるつもりでした。 – Mikey

関連する問題