1

読んでくれてありがとう。まず、次のステートメントを使用して、ルート ディレクトリ内に .htaccess を 1 つ取得しました。

# Mod Rewrite
<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteRule     ^$              /root/              [L]
    RewriteRule     (.*)            /root/$1            [L]
</IfModule>

ルートフォルダー内で、このファイルを取得しました:

# Mod Rewrite
<IfModule mod_rewrite.c>
    RewriteEngine On

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

    RewriteRule ^(.*)$          /root/index.php/$1 [PT,L]
</IfModule>

また、フォルダ/rootには、 、 、 の 3 つのフォルダがcssありjsますimages

私のアプリケーションは、MVC フレームワークから分離するように設計されています (CodeGgniter に少し似ています)。だからここにツリーがあります:

- application
    - my application files are there
- root
    - css
    - js
    - images
- grecko
    - my mvc framework files are there

このように、アプリケーション フォルダーの下で実行されている Web サイト全体に触れることなく、フレームワークを更新できます。

とにかく、今やりたいことは、上で言った 3 つのフォルダー ( cssjsおよびimages) を移動し、それらを の中に移動すること/application/assets/です。しかし、すべてが にリダイレクトされるため、そのようなリクエストをなどにマップ/root/できるようにするルールが必要になります。http://www.domain.tld/css/blabla.css/application/assets/css/blabla.css

私は試しましたが、成功しませんでした。

ありがとう。

4

2 に答える 2

1

これを Web ルート (ルート フォルダーではなく) の .htaccess に入れてみてください。

RewriteEngine on

RewriteRule ^(css|js|images)(.*) application/assets/$1$2 [L]

RewriteCond %{REQUEST_URI} !^/application/assets [NC]
RewriteRule (.*) root/$1 [L]

不要なスペースは避けてください。

于 2012-05-31T19:27:15.960 に答える
1

このコードを$DOCUMENT_ROOT/.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /

    RewriteRule ^(css|js|images)(/.*|)$ application/assets/$1$2 [L,NC]

    RewriteCond %{ENV:REDIRECT_STATUS} !200
    RewriteRule ^ root${REQUEST_URI} [L]
</IfModule>
于 2012-05-31T20:32:41.277 に答える