昨日まみおさんに言われたことを考えていたら、私のページでまだFancyURLになってないリンクがあることに気がつきました。
ShowBlogプラグインから出力されるページ切り替え用のリンク!
ここだけが普通のリンクになっています。
今回はそれを修正してみました。
FancyURLの仕組みを少し勘違いしていて手間取りました…
とりあえず、私のやったやり方は次の通り。
他のところでやってるのを見たこともあるんだけど同じなのかな?
FancyURLのほかの無拡張子ファイルと同様のファイルを作って
URL/page/2
のようなURLをディレクトリとして認識させないようにします。
page
<?
include('./fancyurls.config.php');
include('./config.php');
selector();
?>
.htaccessに以下の3行を追加。
<FilesMatch "^page$">
ForceType application/x-httpd-php
</FilesMatch>
これで/page/2のような部分はディレクトリとして認識されなくなります。
あとはNP_ShowBlogs実行時にURLから現在ページが読み込まれるのでその部分の修正と、出力URLの修正。
NP_ShowBlogsを
page=で検索して
page/に書き換えます。途中一箇所
page==の部分は書き換えないので注意です。
さらに出力部分の修正で
NP_ShowBlogsの140行目付近
if($uri['query']){
$pagelink .= '&';
$pagelink = str_replace('&&','&',$pagelink);
}else{
$pagelink .= '?';
}
を
if($uri['query']){
$pagelink .= '/';
$pagelink = str_replace('&/','/',$pagelink);
}
に編集します。
2004/7/03修正
if($uri['query'])はどうもFancyURLsだと機能していないかもしれません。
NP_ShowBlogs200の161行目付近より
if($uri['query']){
$pagelink .= '&';
$pagelink = str_replace('&&','&',$pagelink);
}else{
$pagelink .= '?';
}
}
を
}
if(substr($pagelink, -1) != '/')
$pagelink .= '/';
と修正、と変更します。
これにより最後が/で終わっていない場合/が追加されます。
Google等の検索エンジン対策としてFancyURLというものを導入した。
ここを参考にした。
ところが、NP_ShowBlogやNP_ContentsListがそのままではFancyURLに対応していない。
あ、無拡張子ファイル"ao"を作って、その中でパスをばらして別々に取り出す、という作業だけで大丈夫なのかな?