0

domain.com/user/12345からdomain.com/user?id=12345と からにリダイレクトしようとしdomain.com/user/12345/profileていdomain.com/user/profile?id=12345ます。

このルールを .htaccess に書きました。

RewriteRule ^user/([0-9]*)(/.*)?$ user$2?id=$1 [L,QSA]

正常に動作しdomain.com/user/12345/profileますがdomain.com/user/12345、リダイレクトされません。

この場合、この最も単純な形式でも試しました。

RewriteRule ^user/([0-9]*)$ user?id=$1 [L,QSA]

http://htaccess.madewithlove.be/で両方をテストしましたが、問題なく動作するようです。

私の間違いは何ですか?¿ どうすればできますか?

アップデート:

このファイルにある次のルールは、からdomain.com/usertodomain.com/user.phpなどに書き換えます。前のルールが定義されていない場合は、OK からdomain.com/user/12345toに書き換えdomain.com/user/12345.phpますが、前のルールが定義されている場合は、この書き換えも行いません。

2 番目のルールをスキップする種類または変換があること、またはルールの検証を停止する種類のミスがあることを意味しますか?

4

1 に答える 1

0

私は解決策を見つけました。ケースではうまく機能し、他のケースではうまく機能しなかった理由はわかりませんが、スラッシュを忘れていたので、 ではuser?id=12345なくに書き換えようとしていました/user?id=12345

したがって、ルールは次のようになります。

RewriteRule ^user/([0-9]*)(/.*)?$ /user$2?id=$1 [L,QSA]
于 2013-08-08T14:39:20.813 に答える