-3

mod_rewriteに関して特定の質問があります:

ユーザーが電話をかけたとき:

www.test.com/p/about

Webサーバーは内部で呼び出す必要があります

www.test.com/?p=about

ウェブサイトのサブページにアクセスします。

しかし、アドレスバーではまだ言うべきです

www.test.com/p/about

これはmod_rewriteでとにかく可能ですか?

うまくいかなかった私の解決策:

  1. 試す

    RewriteRule ^ /?([-a-zA-Z0-9 _ +] +)$ index.php?p = $ 1 [L]

test.com/aboutでのみ機能するため、間違った効果がありますが、test.com / p/aboutが必要です。

  1. 試す

    RewriteRule ^ p /([a-zA-Z] +)$ index.php?p = $ 1

エラー:正しくリダイレ​​クトされますが、htmlファイルのパスが間違っています:例:/img/pic.pngは/p/img/pic.pngになりました

どうもありがとう、スティー

4

1 に答える 1

2

はい、これは mod_rewrite で可能です:

RewriteRule ^p/([a-zA-Z]+)$ index.php?p=$1

または、より一般的に:

RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)$ index.php?$1=$2

参照: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

于 2012-04-03T22:55:53.893 に答える