2016-08-02 php
PHPのフレームワークでよくあるやつで、.htaccess にこういうのを書くんだけど、
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
PHPビルトインウェブサーバでこれを実現するには以下ルータースクリプト .router.php を index.php と同じ階層に作成し、
<?php
// /css/style.css?ver1.0 で記述されている場合ゴミを含めたパスを探しにいって not found になるのでゴミ削除しておく
if(file_exists(__DIR__ . preg_replace("/\.(json|html|txt|css|js|jpe?g|png|gif|svg|woff|eot).*\z/i", ".$1", $_SERVER["REQUEST_URI"]))){
return false;
} else {
require __DIR__ . "/index.php";
}
以下を実行すればOK。
php -S localhost:8000 .router.php