Page History
...
Apache
...
Apache サーバーでは、書き換えディレクティブを使用して URL 操作を行う強力な方法が提供されます。Wiki Markup
詳細は、Apache HTTP サーバー・バーション 2.4 の「&<a href=" target="_blank"&>http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html"Apache モジュール mod_rewrite&</a&>」を参照してください。 以下の例は、これらの書き換えディレクティブの使用方法を示しています。 例 1 」を参照してください。
以下の例は、これらの書き換えディレクティブの使用方法を示しています。
例 1
書き換えURL:"/myservice.jsp?request=xml&service=neworder" を "/cgi-bin/jsmdirect?neworder" に サンプル URL:
サンプル URL: http://10.2.0.170:1099/myservice.jsp?request=xml&service=neworder
URL にサービス名と値のペアが含まれる場合、/cgi-bin/jsmdirect?<値> が呼び出されます。それ以外の場合は、が呼び出されます。
それ以外の場合は、/cgi-bin/jsmdirect?default が呼び出されます。
RewriteCond %\{QUERY_STRING\} service\=(\[^\&\]+)
RewriteRule ^/myservice.jsp(.*) /cgi-bin/jsmdirect?%1 \ [L,PT\]
RewriteRule ^/myservice.jsp(.*) /cgi-bin/jsmdirect?default \ [L,PT\]
RewriteCond は、service= の QUERY_STRING をチェックして、& 以外の値をすべてパラメータ化します。
条件が真の場合、次の RewriteRule を実行します。真でなければこのルールはスキップされ、他のルールが実行されます。 注:を実行します。真でなければこのルールはスキップされ、他のルールが実行されます。
| Info |
|---|
注:
|
...
例
...
2
書き換えURL:" /myservice.jsp?type=2&msgid=AXD&status=NEW" を "/cgi-bin/jsmdirect?myservice+type(2)msgid(AXD)+status(NEW)" に
RewriteRule ^/myservice.jsp /myservice.jsp/%\{QUERY_STRING\} \ [C\]
RewriteRule ^/myservice.jsp/type=(\[^\^¥&\]+)&msgid=(\[^\^¥&\]+)&status=(\[^\^¥&\]+) \
¥ /cgi-bin/jsmdirect?myservice+type($1)+msgid($2)+status($3) \ [L,PT\]
例
...
3
書き換えURL:"/parts/00345" を "/cgi-bin/jsmdirect?orderbind+id(00345)" に
サンプル URL: http://10.2.0.170:1099/parts/00345
RewriteRule ^/parts/(.*) /cgi-bin/jsmdirect?orderbind+id($1) \ [L,PT\]
例
...
4
書き換えURL:"/parts/00345/abc" を "/cgi-bin/jsmdirect?orderbind+id(00345)+item(abc)" に
サンプル URL: http://10.2.0.170:1099/parts/00345/abc
RewriteRule ^/parts/(.*)/(.*) /cgi-bin/jsmdirect?orderbind+id($1)+item($2) \ [L,PT\]
Apache
...
構成ファイルのサンプル
| Code Block |
|---|
# Apache 構成 - JSM サービス |
...
Options None |
...
Listen 10.2.0.170:1099 |
...
ServerRoot /www/jsmapache |
...
DocumentRoot /www/jsmapache/htdocs |
...
# DefaultFsCCSID 37 # DefaultNetCCSID 819 # ServerUserID USERPROFILE # LogLevel Warn LogCycle Daily ErrorLog logs/error_log |
...
CustomLog logs/access_log combined |
...
LogFormat "%{User-agent}i" |
...
agent LogFormat "%{Referer}i -> %U" |
...
referer LogFormat "%{Cookie}n \"%r\" %t" |
...
cookie LogFormat "%h %l %u %t \"%r\" %>s %b" |
...
common LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" |
...
combined # # StartCGI 1 # SendBufferSize 32768 # ReceiveBufferSize 32768 # # 名前ベースの仮想ホスティングを使用 NameVirtualHost 10.2.0.170 # |
...
<VirtualHost 10.2.0.170> |
...
# 最初の仮想ホストのディレクティブがデフォルトのホスト |
...
# これにより、サポートされない、またはホスト名がない IP アドレスの使用を防ぐ |
...
# ドキュメントのルート・ディレクトリにアクセス権なし |
...
Options None |
...
ServerName 10.2.0.170 |
...
DocumentRoot |
...
/www/jsmapache/htdocs
</VirtualHost>
#
|
...
<VirtualHost 10.2.0.170> |
...
Options None |
...
ServerName SERVER1 |
...
ServerAlias SERVER1.ACME.COM.AU |
...
DocumentRoot /www/jsmapache/htdocs-site1 |
...
CGIConvMode BINARY |
...
ErrorDocument 403 /noaccess.html |
...
ErrorDocument 404 /notfound.html |
...
ScriptAliasMatch ^/cgi-bin/jsmproxy(.*) /qsys.lib/devjsm.lib/jsmproxy.pgm$1 |
...
ScriptAliasMatch ^/cgi-bin/jsmdirect(.*) /qsys.lib/devjsm.lib/jsmdirect.pgm$1 |
...
ScriptAliasMatch ^/cgi-sec/jsmdirect(.*) /qsys.lib/secure.lib/jsmdirect.pgm$1 |
...
TimeOut 3000 # RewriteEngine On |
...
# RewriteLog rewrite-site1.log |
...
# RewriteLogLevel 9 # RewriteCond %{REQUEST_METHOD |
...
} ^TRACE
|
...
RewriteRule |
...
.* - |
...
[L,F |
...
]
|
...
# RewriteRule ^/parts/(.*)/(.*) /cgi-sec/jsmdirect?orderbind+id($1)+item($2) |
...
[L,PT |
...
]
|
...
RewriteRule |
...
^/parts/(.*) /cgi-bin/jsmdirect?orderbind+id($1) |
...
[L,PT |
...
]
|
...
RewriteRule ^/parts /cgi-bin/jsmdirect?orderbind+id(*NONE) |
...
[L,PT |
...
]
|
...
# RewriteCond % |
...
{QUERY_STRING |
...
} service\=( |
...
[^\& |
...
]+)
|
...
RewriteRule ^/myservice(.*) /cgi-bin/jsmdirect? |
...
%1 [L,PT |
...
]
|
...
RewriteRule |
...
^/myservice(.*) /cgi-bin/jsmdirect? |
...
default [L,PT |
...
]
|
...
# |
...
RewriteCond |
...
% |
...
{TIME_HOUR |
...
}% |
...
{TIME_MIN |
...
} >0905
|
...
RewriteCond % |
...
{TIME_HOUR |
...
}% |
...
{TIME_MIN |
...
} <1900
|
...
RewriteRule ^/mypage.html /day.html |
...
[L |
...
]
|
...
RewriteRule ^/mypage.html /night.html |
...
[L |
...
]
|
...
# |
...
# |
...
RewriteCond % |
...
{TIME_HOUR |
...
}% |
...
{TIME_MIN |
...
} |
...
<1300 [OR |
...
]
|
...
# RewriteCond % |
...
{TIME_HOUR |
...
}% |
...
{TIME_MIN |
...
} >1500
|
...
# RewriteRule ^/cgi-bin/jsmdirect(.*) /noaccess.html |
...
[L |
...
]
|
...
# |
...
# |
...
RewriteMap companymap txt:/www/jsmapache/company.map
|
...
# RewriteRule ^/company/(.*) $ |
...
{companymap:$1|http://nocompany.com |
...
} |
...
[L,R |
...
]
|
...
# # RewriteMap hostmap rnd:/www/jsmapache/randomhost.map |
...
# RewriteRule ^/(.*\.(pdf|gif|jpg)) http://$ |
...
{hostmap:static |
...
}/$1 |
...
[L,R |
...
]
|
...
# <Directory /www/jsmapache/htdocs-site1> |
...
Options None |
...
Order Allow,Deny |
...
Allow from all |
...
AllowOverride None |
...
</Directory> |
...
# <Directory /qsys.lib/devjsm.lib> |
...
Options None |
...
Order |
...
Allow,Deny
|
...
Allow |
...
from all
|
...
AllowOverride None |
...
# 有効なユーザーが必須 |
...
# |
...
認証タイプ |
...
Basic |
...
# |
...
認証名" |
...
Restricted Service" |
...
# |
...
ユーザーID |
...
QTMHHTP1 |
...
# |
...
パスワード・ファイル |
...
%%SYSTEM%% |
...
</Directory> |
...
# |
...
<Directory |
...
/qsys.lib/secure.lib>
|
...
Options |
...
None
|
...
Order Allow,Deny |
...
Allow |
...
from all
|
...
AllowOverride |
...
None
|
...
Require valid-user |
...
AuthType Basic |
...
AuthName "Restricted Service" |
...
# |
...
ユーザーID |
...
QTMHHTP1 |
...
PasswdFile %%SYSTEM%% |
...
</Directory> </VirtualHost> # |
...
<VirtualHost 10.2.0.170> |
...
Options None |
...
ServerName STUDIOADMIN |
...
DocumentRoot /www/jsmapache/htdocs-site2 |
...
CGIConvMode BINARY |
...
ScriptAliasMatch ^/cgi-bin/jsmadmin(.*) /qsys.lib/devjsm.lib/jsmadmin.pgm$1 |
...
# |
...
<Directory |
...
/www/jsmapache/htdocs-site2>
|
...
Options None |
...
Order Allow,Deny |
...
Allow |
...
from all
|
...
AllowOverride |
...
None
|
...
</Directory> |
...
# <Directory /qsys.lib/devjsm.lib> |
...
Options None |
...
Order Allow,Deny |
...
Allow from 10.2.1.46 |
...
Allow from 10.2.1.47 |
...
Allow from 10.2.1.48 |
...
AllowOverride None |
...
</Directory> </VirtualHost> # # |
...
グローバル・サーバー・ディレクティブ |
...
# |
...
<Directory /> |
...
Options None Order Allow,Deny |
...
Deny from all AllowOverride None </Directory> |
...
# |
...
<Directory /www/jsmapache/htdocs> |
...
Options None Order Allow,Deny |
...
Deny from all AllowOverride None </Directory> |
...