私はかなり標準的な .htaccess ファイルを持っています:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
パラメーターが 1 つある場合はうまく機能します。たとえば、これはこれ/mysite/index.php?c=home
と同じように機能します/mysite/home
これ/mysite/index.php?c=home&m=mymethod
はこれと同じように機能し/mysite/home/mymethodます...相対的なリソースをロードすることを除いて。
URL/mysite/home/mymethodは、Web ブラウザーに/mysite/homeではなく の相対パスを残すようです/mysite/。に移動して/mysite/home/mymethod、css、image、または js ファイルを相対パスで読み込もうとすると (たとえば、html は と表示されますcss/site.css)、ブラウザーはパスの先頭に追加home/します。つまり、Web ブラウザーは ...home/css/site.cssの代わりに読み込みを試みcss/site.cssます。要するに、2 番目のパラメーターを指定すると、相対パスがホースされます。
2 番目の uri パラメータを指定すると相対パスが間違っているのはなぜですか?