0

バグに遭遇しましたが、その原因がわかりません。私は以下のために mod_rewrite を使用します:

 RewriteRule ^stuff$ index.php?page=stuff [L]

それはうまく動作しますが、使用すると

 RewriteRule ^(.+?)$ index.php?page=$1 [L]

CSS はページに適用されなくなり、コードは GET 要求を読み取らないようです。

誰かがなぜこれが私に起こるのか詳しく説明できますか?

4

2 に答える 2

4

ファイルが存在する場合に再書き込みしないように再書き込み条件を追加し、QSAフラグを使用して追加のパラメーターを許可します。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
于 2012-06-10T04:34:19.553 に答える
1

クエリ文字列はディレクトリのような構造に変換されているため、パス開示を使用していない場合、apacheはディレクトリをチェックします。

したがって、次のようにcssファイルを含める場合: <link href="skins/style.css">

ファイルへの完全なWebパスを開示する必要があります。

<link href="http://site.com/skins/style.css">`

また、cssファイル内のすべての画像について、同じことを行う必要があります。回避するための完全なWebパスと、将来書き直すときの問題を含めてください。

于 2012-06-10T04:38:30.210 に答える