PATH_INFO

Top > Hack > PATH_INFO

PATH_INFO を用いた SEO 対策の調査ログ

index.php/hoge/hoge でアクセス

lib/html.php

 if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']) {
        $arg = & $_SERVER['QUERY_STRING'];
+} else if (array_key_exists('PATH_INFO',$_SERVER) and $_SERVER['PATH_INFO'] != '') {
+        $arg = preg_replace("/^\/*(.+)\/*$/","$1",$_SERVER['PATH_INFO']);
 } else if (isset($_SERVER['argv']) && ! empty($_SERVER['argv'])) {
        $arg = & $_SERVER['argv'][0];
 }
+function rurlencode($uri) {
+   $parts = explode('/', $uri);
+   for ($i = 0; $i < count($parts); $i++) {
+     $parts[$i] = rawurlencode($parts[$i]);
+   }
+   return implode('/', $parts);
+}
+

ところどころの rawurlencode を rurlencode に、$script . '?' を $script . '/' にする模様。 基本的には従来方式でも動くので、プラグイン作者に強いることはなく、本体だけ変えれば。

Refer sitedev2。

index.php の .php を削るのは .htaccess をいじる

<FilesMatch "^index$">
ForceType application/x-httpd-php
</FilesMatch> 

元ネタはこちらのようだ

http://wiki.nothing.sh/page/memo/PukiWiki%20with%20PATH_INFO