0

mod_alias ルール:

/water    /local/path1/water

ターゲット URL:

http://www.mysite.com/water/css/style.css
http://www.mysite.com/water/js/java.js

実際の URL:

http://www.mysite.com/water/css.php?src=style.css
http://www.mysite.com/water/js.php?src=java.js

Mod 書き換えルール:

RewriteEngine on

RewriteCond /local/path1/water%{REQUEST_URI} !-d
RewriteCond /local/path1/water%{REQUEST_URI} !-f
RewriteRule ^/water/css/([^/]+)$ /local/path1/water/css.php?src=$1 [PT] 
RewriteRule ^/water/js/([^/]+)$ /local/path1/water/js.php?src=$1 [PT]

問題:動作せず、404 エラーが発生し、このスクリプト/www/mysite.com/htdocs/css.phpが見つからないか開始できないというエラーが表示されます

4

1 に答える 1

0

1.私は mod_alias を使った経験があまりありません..しかし、あなたは間違っていると思います/local/path1/water/-- mod_rewrite は URL の書き換えを行うので、ここでも URL である必要があります。

2./local/path1/water%{REQUEST_URI}これは正しい構造であり、正しいファイルを参照していると仮定します。しかし...それら(これら2つの条件)を最初の書き換えルールにのみ適用します...

3.私が理解しているように、これらのルールは、.htaccess ではなく、サーバー構成/VirtualHost コンテキストに配置されます。

これらすべてをまとめて、代わりにこれを試してください:

RewriteEngine on

RewriteCond /local/path1/water%{REQUEST_URI} !-d
RewriteCond /local/path1/water%{REQUEST_URI} !-f
RewriteRule ^/water/css/([^/]+\.css)$ /water/css.php?src=$1 [L,PT]

RewriteCond /local/path1/water%{REQUEST_URI} !-d
RewriteCond /local/path1/water%{REQUEST_URI} !-f
RewriteRule ^/water/js/([^/]+\.js)$ /water/js.php?src=$1 [L,PT]
于 2011-09-09T00:16:26.193 に答える