リード開発メモ

大阪のソフトウェア会社です。 技術的な事柄についてのメモとしてブログを始めます。

2013年01月

PHP 検索フォームでGET

検索フォームがある。
検索条件は単にキーワードがあるだけで、できればURLに含めたい。

そこで method にGET を指定する。
なんとなくフォームは POST でやるものと思い込んでいたが、もちろんそうする必要はない。
しかし、フォームの中にボタンがあるのが普通で、何もしないとボタンの値までURLに含まれてしまう。

そこで次のように onclick で小細工する必要がある。
サーバ側では次のようにやる。

PHP パラメータをなくす

静的HTMLに見せるSEOテクニックとして、URL に xxx?p1=v1&p2=v2 のような形でパラメータを持たせるのではなく、xxx/v1/v2 のような形でパラメータを持たせる方法がある。

PHP では $_SERVER['PATH_INFO'] に "/v1/v2" という値が格納されているので、以下のようにする。

Apache php ファイルの拡張子をなくす

SEO対策などのために、拡張子なしでphp ファイルを公開するというテクニックがあるらしい。
方法は2つ。

一つ目は .htaccess を設置する方法。

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

と .htaccess に書いて、実際に php ファイルの拡張子をなくす。
しかし、実際に php ファイルの拡張子をなくすというのは何かと不便。。。

二つ目は http.conf を編集する方法。

C:\pleiades\xampp\apache\conf\httpd.conf のディレクトリの設定に MutiViews を追加する。
Options Indexes FollowSymLinks Includes ExecCGI

Options Indexes FollowSymLinks Includes ExecCGI MutiViews

こちらのほうが簡単だが、拡張子ありでもアクセスできてしまうのが難点か。。。
とりあえず後者の方法で。

Apache ドットで始まるディレクトリを見せない

Subversion などのソースのあるディレクトリをそのまま公開する場合、.svn のディレクトリも公開するとまずい。
eclipse の .setting ディレクトリなんてのもあるし。

そこでドットで始まるディレクトリパスは一切見せないことにした。

C:\pleiades\xampp\apache\conf\httpd.conf を編集する。
以下を追加する。

<LocationMatch "/\..*">
 Deny from all
</LocationMatch>

以上。

Apache ディレクトリ一覧を非表示にする

Apache のデフォルトの設定では、存在しないページをリクエストするとディレクトリ一覧を表示してしまう。 開発中はこれでいいとしても、リリース時にはディレクトリ一覧を表示しないようにしなければならない。

ディレクトリ一覧を表示しないようにするには C:\pleiades\xampp\apache\conf\httpd.conf を編集する。

対象の設定 <Directory "C:/pleiades/xampp/htdocs/xxxx/"> などのIndexesを削除する。

Options Indexes FollowSymLinks

Options FollowSymLinks

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor 天気
「livedoor 天気」は提供を終了しました。