Drupalを使用したくないが、WebサイトにDrupalスタイルのmod書き換え(わかりやすいURL)機能を使用したいクライアント向けのWebサイトを作成しています。
これまでに独自のmod_rewriteエンジンを作成したことがないので、役立つヒントやヒントはありますか?CMSは完全に私が作成したものであり、この機能を提供できれば幸いです。ご協力いただければ、よろしくお願いいたします。
Drupalを使用したくないが、WebサイトにDrupalスタイルのmod書き換え(わかりやすいURL)機能を使用したいクライアント向けのWebサイトを作成しています。
これまでに独自のmod_rewriteエンジンを作成したことがないので、役立つヒントやヒントはありますか?CMSは完全に私が作成したものであり、この機能を提供できれば幸いです。ご協力いただければ、よろしくお願いいたします。
それをhtaccessに追加します
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/?argv=$1 [L]
index.php/?argv=mypage は /mypage になり、さらに URI を配列に取得するための php スニペット
if($_GET['argv']){
$argc = count($argv);
$myURI = explode('/',$_GET['argv']);
$controller = ($argc < 0) ?: $myURI[0];
$action = (argc > 1) ? $myURI[1] : 'index';
$params = (argc < 2) ?: array_slice($myURI, 2);
}
それが私のmvcで使用しているものです。
mod_rewrite 書き換えルール ジェネレーターは、指定された動的 URL を取得し、正しい構文を生成して .htaccess ファイルに配置し、URL をスパイダー可能な形式で書き換えることができるようにします。apache モジュール "mod_rewrite" (有効にする必要があります) は、特定の形式の URL を別の形式に変換し、動的コンテンツを含むサイトのインデックス作成を支援するのに非常に役立ちます。
Syntax: RewriteRule url-pattern url-new [[flag,...]]
Example: RewriteRule ^/foo/(.*)$ /bar/$1 [R,L]