4

私は新しいプログラマーで、現在phpmvcを学んでいます。フレームワーク/MVCシステムを最初から構築しています...現在、.htaccessの問題に直面しています。

    example.com = localhost // unable to post question for localhost link

私のアプリケーションのURLは次のようになっています...

        http://example.com/mvc/index.php?go=test//テストはコントローラーの名前です

.htaccessの助けを借りて、URLをクリーンアップしました。

        http://example.com/mvc/test

コントローラが存在しない場合は、エラーメッセージを含むエラービューが表示されます。

        http://example.com/mvc/doesnotexists
しかし、URLに「/」(スラッシュ)を入れると...
        http://example.com/mvc/test/
エラーが表示されますが、cssまたはjsファイルはロードされません。

また、URLにコントローラーメソッドを含めました...

        http://example.com/mvc/test/viewresult
そのコントローラーに一致するメソッドが見つからない場合は、エラーメッセージが表示されますが、同じ問題が表示されます...cssもjsもありません。

完全なURLを実行すると、cssとjsが完全に読み込まれます

        http://example.com/mvc/index.php?go=doesnotexists/
等々

いくつかの.htaccessルールを試しましたが、機能しません。事前に助けて感謝してください..私の現在の.htaccessコード...

<IfModule mod_rewrite.c>  

    # Turn on 
    RewriteEngine On

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

    #RewriteCond %{REQUEST_URI} !^/assets/
    #RewriteCond $1 !^(favicon\.ico|favicon\.png|media|robots\.txt|crossdomain\.xml|.*\.css|.*\js)

    RewriteRule ^(.+)$ index.php?go=$1 [QSA,L]

   # Generic 404 for anyplace on the site  
   # ...  

</IfModule>  
4

2 に答える 2

5

cssとjsの最善の解決策は、フルパスを使用することです。

http://example.com/mvc/assets/style.css

http://cdn.example.com/style.css

書き直します

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?go=$1

'test'がコントローラーであり、'param'が'test'コントローラーのアクションである場合に使用できます

http://example.com/mvc/test/param

$_GET['go']は'test/ param'になり、'param'アクションを取得するには分解する必要があります

于 2012-08-16T03:29:12.820 に答える
0

HTML内のCSSファイルが相対パスではなく絶対パスであることを確認してください/assets/mystyle.css assets/mystyle.css../assets/mystyle.css

于 2012-08-16T02:17:31.883 に答える