0

.htaccess を編集した後。css ファイルに到達できなくなりました。どうすればこの問題を解決できますか。

書き換えルールを無効にすると、問題なく動作しますが、URL バーに file.php?id=5&title=hello と入力しても、file.php?id/title にリダイレクトされないため、手動で入力すると、cssが削除されます

.htaccess コード:

RewriteEngine On
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2

私もこれを試しました:

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2

私もこれを試しました:

 RewriteEngine On
 RewriteCond $1 !^(jpg|jpeg|gif|ico|png|media|txt|xml|css|js)
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2

SQL インジェクションに対するセキュリティを強化するために、URL を非表示にしたいと考えています。

アップデート

これは動作中のバージョンです:

URL:http://localhost/21760

.htaccess ファイル:

        RewriteEngine On
        RewriteCond %{REQUEST_URI} !-f
        RewriteCond %{REQUEST_URI} !-d
        RewriteRule ^([0-9]+)$ file.php?id=$1&
        RewriteCond %{REQUEST_URI} !-f
        RewriteCond %{REQUEST_URI} !-d
        RewriteRule ^([0-9]+)/$ file.php?id=$1

私はこれを使用しましたが、バックスラッシュなしで魅力的に機能します。

  RewriteEngine On
  RewriteRule ^([a-zA-Z0-9_-]+)-watch-file-([0-9]+).html file.php?title=$1&id=$2
4

3 に答える 3

4

ルールに条件を設定して、存在するファイルに適用しないようにすることができます

RewriteCond %{REQUEST_FILENAME} !-f

ディレクトリ用に追加することもできます

RewriteCond %{REQUEST_FILENAME} !-d

次に、ファイルは次のようになります

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2
于 2013-01-23T11:37:52.617 に答える
1

投稿された提案は、既存のファイルが mod_rewrite によって書き換えられるのを防ぐ正しい方法です。できる場合: Apache アクセスおよび/またはエラー ログをチェックして、ブラウザーで直接 CSS URI を呼び出したときに何が起こるかを正確に確認し、その結果をお知らせください。

再考: CSS URI にアクセスできないという問題はありますか? それとも、Web ページを呼び出すときに CSS が機能していないように見えるという問題ですか? 後者の場合は、CSS ファイルを呼び出すときに相対 URI と絶対 URI の問題に対処している可能性もあります。「RewriteEngine On」の行の下に次を追加してみてください。

RewriteBase /

于 2013-01-23T12:06:33.950 に答える
0
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2
于 2013-01-23T11:39:45.390 に答える