0

.htaccess を使用して URL を書き換えます。以下の例を参照してください。

私のフォルダの樹木はそのようなものです:

  • マイサイト(フォルダ)
    • css(フォルダ)
      • スタイル.css
    • mypage.php
    • .htaccess

私が呼び出すhttp://localhost/mysite/mypage/myidと、リダイレクトされますhttp://localhost/mysite/mypage.php?id=myid

問題は、次のCSSを呼び出していないように見えることです:

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

私の .htaccess の内容は次のとおりです。

RewriteEngine on
RewriteBase /mysite
RewriteRule ^mypage/([^/]*) mypage.php?id=$1

前もって感謝します

編集 :

私は解決策を試しました:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

私はまだ呼ばれるcssを取得できません:/

編集2:

OK、次のようにCSSを呼び出して動作させることができました:

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

パス「/ mysite /」を使用して、htmlにあるすべての画像を呼び出す必要があるようです

4

3 に答える 3

1

スタイリング get は現在相対と呼ばれているため、絶対と呼ぶ必要があります。

/myid/css/ フォルダーはありません。これが、コードが現在探しているものです。

<link href="<?php echo $_SERVER['SCRIPT_URI'];?>css/style.css" rel="stylesheet" type="text/css" />
于 2013-07-29T14:05:01.073 に答える
1

書き換え条件を追加します。

RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^mypage/([^/]*) mypage.php?id=$1

これで、css (およびその他のファイルとディレクトリ) は rewriterule を介して送信されなくなります

于 2013-07-29T13:52:34.423 に答える
1

実際に存在するディレクトリとファイルを無視するように書き換えエンジンに指示する必要があります。

RewriteEngine on
RewriteBase /mysite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^mypage/([^/]*) mypage.php?id=$1
于 2013-07-29T13:52:35.033 に答える