サーバ

Jenkins+Apache構成でジョブ作成時に host/view/すべて/newJob というURLで 404 #jenkinsci

久しぶりにJenkinsで新しいジョブを作ってみようとしたところ、http://jenkins.twitter4j.org/view/すべて/newJob というちょっと妙なURLにたどり着き、404が返ってきました。

なぜ「すべて」とマルチバイトのURLになっているのかわからないけれどもまんま"view/すべて/newJob"でググってみたところ同様の現象と対応方法を発見。
Tomcat + Apacheで、マルチバイトを含んだURLがうまく処理できない – @ikikko のはてなブログ

ただし、上記の事例はTomcat+Apache。ウチではJenkins内蔵のWinstoneをjkプロトコルで接続しているのでnocanonというオプションは使えません。
"nocanon mod_jk"というキーワードで検索してみたところ、Liferay関連の質問で関連しそうな記事を発見。
Do you know that you can not use characters like “:” in article titles? « eo Networks about Liferay

+ForwardURICompatUnparsedというオプションを使えば良いとのことで、最終的には以下のような設定で解決しました。

<VirtualHost *>
#JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
JkMountFile conf/jenkins_uriworkermap.properties
ServerAdmin yusuke@mac.com
DocumentRoot ***/htdocs/
ServerName jenkins.twitter4j.org
ServerAlias jenkins.twitter4j.org
ErrorLog logs/jenkins-error_log
CustomLog logs/jenkins-access_log common
</VirtualHost>