私のDocRoot:
/var/www/project/templates/index.html
/var/www/project/templates/about.html
/var/www/project/templates/contact.html
/var/www/project/templates/press/2013/01 /01/mypresspost1
/var/www/project/templates/press/2013/01/02/mypresspost2
/var/www/project/templates/blog/2013/01/01/myblogpost1
/var/www/project/templates/blog /2013/01/02/myblogpost2
目標:
短縮 URL を使用して内部ファイル パスを検索します。
したがって、ヒットmysite.com/myblogpost2
すると、実際にロードさ/blog/2013/01/02/myblogpost2
れます。テンプレートエンジンを使用しているため、パスは次のようにフロントエンドで使用可能になります。{include file="{$path}"}
私のブートストラップ:
RewriteCond %{REQUEST_URI} !=/index.php
RewriteRule .* /index.php
myblogpost2
URI から文字列を取得する方法が既にあると仮定しましょう。
これで、内部パスを解決するだけの問題になるので、設定できます$path
アイデア:
私にはいくつかのアイデアがありますが、これらは私の問題をよりよく説明するためのものです。
最終的には最適なルートを探しているので、アドバイスをいただければ幸いです。
フラット ファイルから JSON を使用します。
{
"myblogpost1": {longpath:"/blog/2013/01/01/myblogpost1"},
"myblogpost2": {longpath:"/blog/2013/01/02/myblogpost2"}
}
$string = "myblogpost1";
$path = objJsonResp[$string]->longpath;
テーブルをクエリします。
$path = SELECT longPath FROM shortUrls WHERE name = :name