私は次のRewriteRulesを使用しています:
RewriteRule ^([a-zA-Z0-9]+)$ page.php?p=$1
RewriteRule ^e/([a-zA-Z0-9]+)$ edit.php?p=$1
最初のものは正常に機能します。mysite.com/idと入力すると、サーバー側でmysite.com/page.php?p=idが読み込まれます。
2つ目も機能しています。mysite.com/e/ idと入力すると、mysite.com / edit.php?p = idが読み込まれます(予想どおり)。しかし、その場合、edit.phpは私のcssファイルのような外部ファイルを見つけることができません。
<link rel="stylesheet" type="text/css" href="style.css" />
どちらかを行う場合:
<link rel="stylesheet" type="text/css" href="../style.css" />
または、次のようにRewriteRuleのディレクトリを削除するだけです。
RewriteRule ^e_([a-zA-Z0-9]+)$ edit.php?p=$1
それはその問題を修正します。
サーバー側(mysite.com/)の正しいパスに読み込まれ、追加のディレクトリ(この場合はmysite)にURLが表示されないのに、edit.phpが外部ファイルを見つけられない理由がわかりません。 。来て/ )。