桜ヶ丘日記

技術メモとかとか

バーチャルホストを設定する

現在example.jpで見えてるサーバーの別のディレクトリをhoge.example.jpで見せたい場合。

DNSのAレコードでhoge.example.jpを借りてるサーバーに向けたのち、下記のように設定する。

$ cat /etc/httpd/conf.d/virtualhost.conf
NameVirtualHost *:80

<VirtualHost *:80>
  DocumentRoot /var/www/html
  ServerName example.jp

  # rewrite rules for mediawiki
  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
  RewriteRule ^/?wiki/(.*)$ /wiki/index.php?title=$1 [PT,L,QSA]

</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/hoge/htdocs
  ServerName hoge.example.jp
</VirtualHost>

さくらVPSに入れたMediawikiで短いURLを使う

■ ご参考
http://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_Apache_rewrite--root_access/ja

■ 作業
$ cd /var/www/wiki
$ echo '$wgArticlePath = "/wiki/$1";' >> LocalSettings.php
$ cat | sudo tee /etc/httpd/conf.d/rewrite.conf
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
RewriteRule ^/?wiki/(.*)$ /wiki/index.php?title=$1 [PT,L,QSA]
$ sudo service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

できた

linuxとbsdでsedの-iオプションの必要な引数が違う

↓参考:linuxの場合

linux$ grep hoge *
hoge0.txt:hoge fuga piyo
hoge1.txt:hoge fuga piyo

linux$ sed -i s/piyo/boeee/g * && grep hoge *
hoge0.txt:hoge fuga boeee
hoge1.txt:hoge fuga boeee


↓BSDだとこうなる

bsd$ grep hoge *
hoge0.txt:hoge fuga piyo
hoge1.txt:hoge fuga piyo

bsd$ sed -i s/piyo/boeee/g * && grep hoge *
sed: 1: "hoge0.txt": extra characters at the end of h command

ええーーー?!
となってman sed読んだ

bsd$ sed -i .foo s/piyo/boeee/g * && grep hoge *
hoge0.txt:hoge fuga boeee
hoge0.txt.foo:hoge fuga piyo
hoge1.txt:hoge fuga boeee
hoge1.txt.foo:hoge fuga piyo

今日のハマったこと

jQueryの$('hoge').data('foo')はキャッシュされるので値を変更しながら使いたい時は$('hoge').attr('data-foo')を参照しないと現在の値と違うものが取得されることがある。

 

参照:

http://api.jquery.com/data/