竜の巣日記

12345678910111213141516171819202122232425262728293031

ページスイッチリンクをFancyURL化する

昨日まみおさんに言われたことを考えていたら、私のページでまだ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 .= '/';


と修正、と変更します。
これにより最後が/で終わっていない場合/が追加されます。
categorynucleus  datetime2004-03-17 22:31  author竜の巣 

Comments

wrote:

自分で試してもいないのにこんなこと聞くのも甘えてますけど、パラメータが二つのArchiveIndexの場合はどうされてます?
あ、無拡張子ファイル"ao"を作って、その中でパスをばらして別々に取り出す、という作業だけで大丈夫なのかな?
2004-04-16 12:22:17

竜の巣 wrote:

いろいろ試してみたのですが、ArchiveIndexの場合は既に無拡張子ファイル"archives"が適用された後なので無拡張子ファイル"ao"はなくても大丈夫でした(最初作ったけど消しました)。
他の無拡張子ファイルを一度でも通った後ならselector()が実行されるからかなと思ってます。
それでパスのaoとapの順番を固定して、explodeを二回実行して分解してます。
順番が固定でない場合はexplode使えなさそうですね。
2004-04-16 20:58:41

ゆ wrote:

なるほど。
あとArchiveIndexの記事、サンクスです!
2004-04-17 11:56:06

Add Comments

:

:
:

Trackback

FancyURL + NP_ContentsList nakachi.org pinged on 2004-06-06

Google等の検索エンジン対策としてFancyURLというものを導入した。 ここを参考にした。 ところが、NP_ShowBlogやNP_ContentsListがそのままではFancyURLに対応していない。

Fancyとか諸々 Caprice Nucleus Weblog pinged on 2004-05-10

TrackBackのFancyURL化とページスイッチリンクをFancyURL化するをパクらせてもらいました。 URLがすっきりしていい感じ。