私はapacheのmod_rewriteモジュールを使用して、URL構造(1つのインスタンスwww.mydomainname.com/user.php?u=somename
)を.のような派手なURLに改善していますwww.mydomainname.com/user/somename
。CSSとJSの相対パスの問題という非常に悪い状況に陥るまで、私はそれを成功裏に達成しました。開くとwww.mydomainname.com/user/somename
、CSSとJSがなくても、テキストと基本的なHTMLだけで正常に読み込まれます。Chromeの「要素の検査」機能を使用しました。これは、発生した次のエラーを知るのに役立ちます。
GET http://www.mydomainname.com/user/css/style.css 404 (Not Found) somename:5
GET http://www.mydomainname.com/user/css/developer.css 404 (Not Found) somename:6
GET http://www.mydomainname.com/user/js/jquery-1.5.2.js 404 (Not Found) somename:7
GET http://www.mydomainname.com/user/js/jquery.form.js 404 (Not Found) somename:5
.htaccessファイルには次の内容が含まれています-
DirectoryIndex index.html.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^user/([^/.]+)/?$ user.php?u=$1 [L]
user.phpは、CSSフォルダーとJSフォルダーだけでなく、親フォルダーにも存在します。原因はわかりましたが、エラーを取り除く方法がわかりません。
編集:user.phpファイルで指定されたCSSとJSのパスは-
<link type = "text/css" rel = "stylesheet" href = "css/style.css">
<link type = "text/css" rel = "stylesheet" href = "css/developer.css">
<script type="text/javascript" src="js/jquery-1.5.2.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>