[WordPress] ワードプレスのような Htaccess と PHP を Rewriterules する方法

スポンサーリンク

質問

ワードプレス、複数の書き換えルールのようなサイトを行いますが htaccess ファイルは非常に単純です ex:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress

このルールは単純です、参照してくださいしかし、どのように PHP ファイル上のロジック?。つまり、この php コードを使用する場合

<?php
if(isset($_GET['page'] AND $_GET['page']=="profil")
{
    echo "example";
}
elseif(isset($_GET['page']) AND $_GET['page']=="news" AND isset($_GET['p']))
{
    echo "This is $_GET[p]";
}
?>

と htaccesslike ここで

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /MyTest/
RewriteRule ^profil\.html$ index.php?page=profil [L]
RewriteRule ^site-([0-9]+)\.html$ index.php?page=news&p=$1 [L]
</Ifmodule>

しかしこれはワードプレスのような大量の書き換え、ワードプレスのロジックのようなルールを書き換えする助けてください


答え

ワードプレス ルータ負荷の内容を表示する正しいページを 1 ページにすべてを書き換えます。単にワードプレスの場合と同じ規則を使用します。インデックス ファイルでは

$_SERVER['REQUEST_URI']

を使用して元の url を取得し、これから必要な情報を得るためにそれを処理して正しいページをロードします。おそらく実際の seo url でこれを使用する場合します

<?php
$urlparts = explode( "/", $_SERVER['REQUEST_URI'] );

$page = end( $urlparts );
$matches = Array();

if( $page == "profil.html" ) {
  include( "profil.php" );
} else if( preg_match( "/site-([0-9]+)\.html", $page, $matches ) ) {
  $num = $matches[1];
  include( "news.php" );
} else {
  include( "404.php" );
}

http://stackoverflow.com/questions/29165388/how-to-rewriterules-php-with-htaccess-like-wordpress

スポンサーリンク

Leave a Reply