1

このhttp://www.mydomain.com/it/archive.php=321123 のようなURLを次の ようなものに変換したい http://www.mydomain.com/it/R/321123 本の中で私はいくつかの練習で何か役に立つものを見つけました私は次のようになります

RewriteEngine On
RewriteRule ^R/(.*) archive.php?$1 [PT]

正しく動作します。問題は、コード内のrefが次のようになることです。

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

に変換されます

<link rel="stylesheet" type="text/css" href="www.mydomain.com/it/R/css/layout.css" />

Rフォルダーは実際には存在しないため、cssファイルは含まれていません。すべてのcssファイルはフォルダーhttp://www.mydoman.com/it/cssに保存されます。Chrome開発者ユーティリティは私に次のことを提供します: スタイルシートとして解釈されるが、MIMEタイプtext / htmlで転送されるリソース:"http://www.mydomain.com/it/R/css/style.css"。

アドレスを変更することは可能ですが、ページ内の元のページと同じ参照を維持します。私は書くことができました

<link rel="stylesheet" type="text/css" href="http://www.mydomain.com/it/css/layout.css" />

しかし、EasyPHPを使用してオフラインで作業している場合、これは機能しないはずです。

PS:.htaccessファイルをhttp://www.mydomain.com/itフォルダーに入れて、it言語の部分にのみ影響するようにしたいのですが。

ありがとう!

4

2 に答える 2

2

これをページのヘッダーに追加できます。

<base href="/it/">

これにより、相対/R/URI パス (「css/layout.css」など) が書き換えによって混同されないようにする必要があります。

それが不可能な場合は、css を機能させるために追加のルールを追加してみてください。

RewriteRule ^R/css/(.*)$ css/$1 [L]
于 2012-06-20T20:35:27.747 に答える
0

R/ の後の部分が常に数字であると仮定して、これを試してください:

RewriteEngine On
RewriteRule ^R/([0-9]*) archive.php?$1 [PT]
于 2012-06-20T20:34:15.420 に答える