- ベストアンサー
Apacheのhttp.confの記述
- Apacheのhttp.confには、複数のリライトがある場合の記述方法があります。
- confファイルにリライトの記述を追加した際にエラーが発生する場合、別のファイルに記述する必要があるかどうか、または同一のconfファイルで問題ない場合の記載方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 補足の情報から拾えば・・・、 <VirtualHost *:8055> RewriteEngine On RewriteRule ^/b/st/search$ /d/api/st/scr/xml_search.php/zh/B/ [L] RewriteRule ^/c/st/search$ /d/api/st/scr/xml_search.php/zh/C/ [L] </VirtualHost> っちゅう事になりますが・・・。 まぁ、こんな場合は、 <VirtualHost *:8055> RewriteEngine On RewriteMap toupper int:toupper RewriteRule ^/(.+)/st/search$ /d/api/st/scr/xml_search.php/zh/${toupper:$1}/ [L] </VirtualHost> って書くんだと思いますが・・・なんかおかしいね? だって、DocumentRootないし、ServerNameもない・・・。 情報少なくない?
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 よくわからないんですが・・・。 まず、<Directory "/d/api/st/scr">が2つある事がおかしいです・・・。 mod_rewrite使うので、別にAlias使わなくてもいいんじゃない・・・? どのようにアクセスされた時にどのように振り分けたいのか。 実際のドキュメントの場所は。 などを補足して頂けると回答しやすいですが・・・。
補足
ご回答ありがとうございます。不勉強な点をご容赦下さい。 以下で、補足となるでしょうか。 ・プログラム /d/api/st/scr/xml_search.php ・(1)のリクエスト /b/st/search これを次のようにリライトしたい /d/api/st/scr/xml_search.php/zh/B/ ・(2)のリクエスト /c/st/search これを次のようにリライトしたい /d/api/st/scr/xml_search.php/zh/C/
お礼
お礼が遅くなり申し訳ありません。 どうもありがとうございました。 RewriteRuleとAliasの記述で振り分けできるようになりました。大変助かりました。 RewriteEngine on RewriteRule ^/b/st/search$ /d/api/st/scr/xml_search.php/zh/B/ [L] RewriteRule ^/c/st/search$ /d/api/st/scr/xml_search.php/zh/C/ [L] Alias /b/st "/d/api/st/scr/" Alias /c/st "/d/api/st/scr/" <Directory "/d/api/st/scr"> AllowOverride None Order allow,deny Allow from all </Directory> ServerName等は(略)としていたのですが、Aliasを記述したいのであればDocumentRootは必要ですね。(理解が間違っておりましたら、申し訳ありません) 失礼致しました。