1

書き換えルールを効果的に使用して、URL を /teams.php?team=New York Yankees&year=2012 から teams/New York Yankees/2012 に変更しました。

私の .htaccess ファイルには次のものが含まれています

RewriteEngine On
RewriteRule ^teams/([^/]*)/(^/]*)$ /teams.php?team=$1&year=$2 [L]

ただし、この書き換えルールが現在有効であるため、外部の CSS および JS ファイルは読み込まれません。書き換えルールの前に次の書き換え条件を入れてみましたが、うまくいきませんでした

RewriteCond %{REQUEST_URI} !^/(css/js)/

ほとんどすべてのファイルには、外部スタイルシートへの次のリンクがあります。

<link rel="stylesheet" type="text/css" href="css/stylesheet.css" /> 

ここで私が間違っていることはありますか?

ありがとう

4

1 に答える 1

1

スタイルシートにリンクするときは、現在のような相対パスではなく、完全パスを使用する必要があります。書き換えルールを設定すると、書き換え前の URL に対して相対的になります。

たとえば、次のように変更します。

<link rel="stylesheet" type="text/css" href="css/stylesheet.css" />

に:

<link rel="stylesheet" type="text/css" href="/css/stylesheet.css" />

それらがロードされていない理由は、ブラウザーがアクセスしようとしているからです。

http://yoursite.com/teams/New York Yankees/2012/css/stylesheet.css

css/stylesheetもちろん存在しないものに リンクするとき。

于 2012-07-24T00:41:39.433 に答える