0

htacces を編集して、次の URL のみを書き換え、残りは書き換えないということはできますか?

http://www.example.com/index.php?x=foobar
 to
http://www.example.com/foobar/

変数として x=... を持たないページを正常に動作させたい

私は次のものを手に入れましたが、それはうまくいきません

Options +FollowSymLinks
RewriteEngine on

RewriteRule (.*)/ index.php?x=$1
RewriteCond $1 !\.(js|ico|gif|jpg|png|css|html|swf|mp3|wav|txt)$

誰が私を助けることができます?

4

1 に答える 1

1

まず、それが属するRewriteCondの前に置く必要があります。RewriteRule

しかし、私はあなたがあなたのケースのために次のような別のアプローチが必要だと思います:

RewriteRule (.*)\.php - [PT,L]
RewriteRule ^(.*)/$ index.php?x=$1
  • 最初のルールはすべてのPHPページをパススルー(PT)するため、2番目のルールはすべての非PHPリクエストにのみ適用されます。
  • この2番目のルールは、このパスにドットが含まれているかどうかに関係なく、「単純なパス」にのみ適用されます(たとえばhello.gif/、一致する場合もあります)。

これがうまくいかない場合は、次のポイントの1つを検討してさらに調査を開始することができます。

  • パターン([^\.]*)は、ドットが含まれていないすべてのものと一致します
  • リクエストが既存のファイルまたはディレクトリを指していない場合にのみ以下が使用される場合にファイルまたはディレクトリが存在する場合にルールをスキップするには、RewriteCondを参照してくださいRewriteCondRewriteRule

お役に立てれば。

于 2012-12-30T16:47:35.510 に答える