1

次の形式の URL があります。

www.example.com/r/abc/1234

に書き換えたい:

www.example.com/r.php?deb=abc&id=1234

そして別のURL:

www.example.com/r/12bcd-qsqs-343-wdwd/1234

これは次のように書き換える必要があります。

www.example.com/r.php?abc_id=12bcd-qsqs-343-wdwd&id=1234

これらのルールはどちらも .htaccess で処理する必要があります。助言がありますか?

4

2 に答える 2

1

リダイレクトする URI は両方とも似ていますが、2 番目の URI に-は最初のクエリ パラメータにハイフンが含まれています。

mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^r/([^-]+)/(.+)/?$ r.php?deb=$1&id=$2 [L,QSA]

RewriteRule ^r/([a-z0-9-]+)/(.+)/?$ r.php?abc_id=$1&id=$2 [L,QSA,NC]
于 2012-08-28T08:01:40.403 に答える
1

次のようなものを試してください:

RewriteRule (.*)/(.*)/(.*)$ path_to_php_files/$1.php?deb=$2&id=$3 [QSA,L,NC]

残念ながら、このルールでは、最初の $_GET パラメータは常に deb になり、DirectoryIndex が正しく設定されていることを願っています。私はそうは思わない

www.example.com/r/abc/1234
www.example.com/r/12bcd-qsqs-343-wdwd/1234

動的リンクがある場合は、abc と 12bcd-qsqs-343-wdwd を 2 つの異なる $_GET パラメータに配信できます。

于 2012-08-28T07:52:27.303 に答える