Web」カテゴリーアーカイブ

インターネット全般に関するカテゴリーです。

Access-Control-Allow-Origin

設置したCGIを違うドメインからでも使えるようにしたい場合は、HTTPヘッダーにAccess-Control-Allow-Originを追加するとできるようになるそうです。

CGI側でヘッダーを追加する場合

次のような感じでHTTPヘッダーを追加します。

print('Access-Control-Allow-Origin: *')
print('Content-Type: text/plain; charset=UTF-8')

上はPythonの例ですが、他のスクリプトでも同様です。

.htaccessで設定する場合

Apacheでmod_headersモジュールが使える場合は次のようにしてもヘッダーに追加できます。

<Files ~ "sample\.cgi$">
  Header set Access-Control-Allow-Origin "*"
</Files>

この場合はスクリプト自体の修正は不要となります。

日本語文字列を含むURLのRewrite

Apacheで.htaccessを使って日本語文字列を含むURLをリダイレクトしたい場合は次のような方法があるみたいです。

直接日本語文字列で書く方法

リダイレクトしたい文字列をそのまま日本語で書きます。
.htaccessのファイルはUTF-8にしておくのがよいと思います。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/日本語/$ /英語/ [R=301,L]
</IfModule>

URLエンコードする方法

\記号によるエスケープとNEオプションを使って次のような感じで記述します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/日本語/$ /\%E8\%8B\%B1\%E8\%AA\%9E/ [NE,R=301,L]
</IfModule>

どちらの方法を使っても結果は同じですので、使いやす方を試してみてください。

LessのEscaping

便利なLessですが、ブラウザ独自の拡張機能や新しい実装などを使おうとして、コンパイルエラーで困ることがあります。

そういう場合は~" "~' 'でEscapingして回避できるそうです。

.example {
  height: ~"calc(100vh - 10em)";
}

エラーで困った場合は使ってみてください。

リンク

Getting started | Less.js
http://lesscss.org/