case文を使ったあれこれ

標準入力から「文字列,数値」を取得して出力

・www,数値
「www」を数値回繰り返す
結果:wwwwwwwww

・HogeFuga,数値
数値が3で割れるときはHoge、5で割り切れるときはFuga、15で割り切れるときはHogeFuga、それ以外は数値

・Sosu,数値
数値番目の素数

・fib,数値
数値番目のフィボナッチ数

require 'prime'
require 'matrix'
a=STDIN.gets.split(",")
i=a[1].to_i
case a[0]
when x="www"
    puts x*i
when (x="Hoge")+(y="Fuga")
    s=""
    s += x if i%3==0
    s += y if i%5==0
    s =a[1] if s==""
    puts s
when "Sosu"
    puts Prime.each.take(i).last
when "fib"
    puts ((Matrix[[1,1], [1,0]] ** i) * Vector[1,0])[1]
end

条件式に代入を使っているのでコードが短くてRubyが好きなところ。

FizzBuzz的なところはもっと短くできるはず・・・

素数はもっと字数を少なくできるか?しらんけど

フィボナッチは、これ以上の短縮のアイデアは出てこない。

.htaccessでアクセス制限したい。

apache2.4系だからね。

httpd.conf

.htaccessのことを詳しく説明しているサイトは多いが、httpd.confを変更するんだよーって説明が殆ど無いのはなぜ?

#httpd.conf
#AllowOverride None
AllowOverride ALL

.htaccess

まずは空ファイルを作る

  • UTF-8N
  • LF
  • BOMなし

これを設置して500エラーが出ない、アクセスできるをチェックする

いずれかのIPだけ許可


Require ip 192.168.1
Require ip 192.168.2

自分が見えて、対象外が403をチェック

ここまできて、『.htaccess』が非推奨な理由ってのがあったので、中止にした。

ページテンプレートで特定カテゴリーだけ表示させる

足して割ったようなことをしている。

<?php
/*
Template Name: 天ぷら
*1540862717*/
?>

<?php get_header(); ?>

<div id="primary">
<div id="content" role="main">
<?php
/* 固定ページをここにいれる */
?>

<?php
$posts = get_posts(array(
	'posts_per_page' => 10, // 表示件数
     'orderby' => 'date', // 日付でソート
     'order' => 'DESC', // DESCで最新から表示、ASCで最古から表示
     'category_name' => 'tenpura' // 表示したいカテゴリーのスラッグを指定
));
?>
	
<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>

<!--表示する内容が入ります。-->
	<?php get_template_part( 'content', get_post_format() ); ?>
<!--表示する内容ここまで-->

<?php twentyeleven_content_nav( 'nav-below' ); ?>
<?php endforeach; endif; ?>

</div>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>&#8203;

サブディレクトリを作る

やっと本筋の話になる
https://www.templateking.jp/practical/build/sub_dir.html

#wp-config.php

define('WP_ALLOW_MULTISITE', true);

アップロード

ツール>サイトネットワークの設定

プラグインを止めろというので、キャプチャしてから止める

こまったところが無いので省略
https://www.templateking.jp/practical/build/sub_dir.html


参加サイト>サイトネットワークの設定>設定

・・・

けっか
hoge.com/wordpress/ 現在のディレクト
hoge.com/wordpress/sub_dir/ これを作りたかった。けど、サブサブディレクトリはだめだった。

Apacheのポート番号を変更したらアクセスできなくなった

# httpd.conf
# Listen 8000
Listen 80

Bookedは動くんだけど、WordPressがまったく駄目。

wp-config.phpっぽくない。


WordPressで固有IPを変更してしまってサイトが開けなくなった時の対処法
これだ!
siteurlとhomeのURLを編集する(siteurl:id=3, home:id=39ってなんで?)


だめだった。

アドレス変更したらWordPressが壊れた

同じ方法をWindowsで行うのは面倒っぽいので、phpMyAdminで修正する。
とりあず、エクスポートでバックアップを作成

update `wp_postmeta` set meta_value=REPLACE(meta_value, ":8000", "")
update `wp_posts` set guid=REPLACE(guid, ":8000", "")

んー変わらない。
php関係ないアドレスは表示される。
site_url/wordpress/readme.html

こっちも出た
http://site_url/wordpress/wp-login.php

http://site_url/wordpress/index.php

どうやらテーマが悪いっぽい。
http://www-creators.com/archives/461

テーマを変更して戻したらなんとかなった。

IISのポート番号を変更したい

WordPressのサブディレクトリを作るためにはApacheを80で動かす必要があるために、IISのポートを地上げすることになった。

<参照>
変更手順
https://www.infraexpert.com/study/loadbalancer9.1.html
FWの開け方
https://qwerty.work/blog/2013/04/iis880web.php