http://example.com/mvc/login/requestsExceeded
url がの場合、Style.css は実行されません。
しかし、それは私のログインインデックスページで行いますhttp://example.com/mvc/login
。
スラッシュを追加しhttp://example.com/mvc/login/
ても機能しません。
mvc = サブディレクトリ内のサイト
login = コントローラー
requestsExceeded = ビュー
.css ファイルはhttp://www.example.com/mvc/views/themes/default/style.css
次のように試したので、ファイルパスは問題ありません。
<?php if(file_exists("views/themes/{$theme}/style.css")) echo 'TEST'; ?>
<link href="views/themes/<?=$theme;?>/style.css" type="text/css" rel="stylesheet" />
そしてそれはTESTをエコーアウトします。
ここで私の単純化されたルーター:
<?php
$controller = "Index";
$action = "index";
$query = null;
if (isset($_GET['load']))
{
$params = array();
$params = explode("/", $_GET['load']);
$controller = ucwords($params[0]);
if (isset($params[1]) && !empty($params[1]))
{
$action = $params[1];
}
if (isset($params[2]) && !empty($params[2]))
{
$query = $params[2];
}
}
$modelName = $controller;
$controller .= 'Controller';
$load = new $controller($modelName, $action);
if (method_exists($load, $action))
{
$load->{$action}($query);
}
else
{
die('Invalid method. Please check the URL.');
}
これは .htaccess ファイルが原因であると確信しています:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?load=$1 [PT,L]
-index.php ... 以外のすべてのアクセスを制限したい、
-.css、.gz、.js、および画像ファイルへのアクセスを許可する -URL
からスラッシュを
削除する -index.php に 301 をリダイレクトする
-redirect http://example.com/mvc/home
index.php に、
助けていただければ幸いです!