私の .htaccess ファイルは次のようになります。
RewriteEngine On
RewriteRule ^([^/]*)$ index.php/?node=$1 [L]
cssファイルを次のように含めると:
<link href="sitewide.css" rel="stylesheet" type="text/css" />
うまくいきません。ジャバスクリプトも同様です。
私の .htaccess ファイルは次のようになります。
RewriteEngine On
RewriteRule ^([^/]*)$ index.php/?node=$1 [L]
cssファイルを次のように含めると:
<link href="sitewide.css" rel="stylesheet" type="text/css" />
うまくいきません。ジャバスクリプトも同様です。
私は、imgs、css、javascriptなどのすべての相対パスのベースリンクをハードコード化しない簡単なソリューションをどこでも探していました...
それで、ここで、<head>
問題が発生しているページのタグの間にこれを追加します。
<base href='http://www.mydomain.com/'>
これにより、相対パスリンクがこのベースリンクで開始されます。そのような単純な。
タグは、ドキュメント内のすべての相対URLの<base>
ベースURL/ターゲットを指定します。タグ<base>
を要素内の最初の要素として<head>
配置し、headセクションの他の要素が要素からの情報を使用するようにし<base>
ます。
それはあなたのために働きましたか?
ファイルやディレクトリが存在する場合など、存在しないパスのみを書き換えることを検討してください - 書き換えないでください。
Wordpress はこれを使用してパーマリンクを書き換えます。これはかなり良い例だと思います。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
ご覧のとおり、既存のファイル/ディレクトリを除外する書き換え条件があります。
そのファイルは、 to を.htaccess
含まないものをすべてリダイレクトしています。本当に必要なパスだけをキャッチするように書き直すことを検討してください。/
index.php
L
または、「最後」 ( )として示されているルールを使用してファイルを開始することもできます。
RewriteRule ^/javascript.js$ $0 [L]
これにより、Apache はこの RewriteRule を評価し、その要求の他のすべてのルールを停止することになります。したがって、.js
または.css
ファイルは適切に提供されますが、その.htaccess
ようなファイルごとに新しいエントリを作成する必要があります。これよりも最初の提案を強くお勧めします。
これを試して:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^([^/]*)$ index.php/?node=$1 [L]