10 月 4

PHPファイルを静的に見せる方法。

今回は、apacheのmod_rewriteモジュールを.htaccessを動かす。

以下mod_rewriteの設定は完了しているものとします。

.htaccessファイルの記述例

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z_\-]+)\.html$ $1\.php [L]

これで例えばtop.htmlと入力したときに、top.phpを処理できます。

ちなみに、2行目3行目は、実在するファイル、ディレクトリの場合には書き換えしませんということ。

 

また、動的なファイルを静的にする例。最後の行を次のように変更します。

RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$ file.php?var1=$1&var2=$2 [L]

これで、例えば dir/say.html のアクセスがあった場合に、file.php?var1=dir&var2=say

の結果を返します。

8 月 18

いまどきSSIを使う機会も少ないですが

たまたま設定することになったのでそのときのメモ。

apacheは2.2系(RPM)です。(1.3系ではおそらく異なります。)

具体的にはhttpd.confの設定します。

まず、次の2行があることを確認(ない場合は追加!)

AddType text/html .shtml
AddHandler server-parsed .shtml

そして、SSIを使いたいディレクトリのDirectoryディレクティブ内を次のようにIncludesを追加。

<Directory /yourdirectory>
   AllowOverride All
   Options FollowSymLinks Includes
   Order allow,deny
   Allow from all
</Directory>

最後に、DirectoryIndexにindex.shtmlを追記

以上でapacheを再起動して動作確認をしてみてください。

7 月 14

Wordpress MU で feedが取得できない・・・

なぜかと思っていろいろ調べていると、個別ページもNot Foundになる。

パーマリンク化されたURLはすべてエラー。。

どうやらアパッチのリライト機能がうまくいってへんみたい。

wordpressの場合は、mod_rewriteは、htaccessに記述されます。

バーチャルホストの場合は、httpd.confに.htaccessの読み込みを個別に設定してやる必要があります。

<VirtualHost *:80>
    DocumentRoot /joey/joey
    ServerName joey.joey
    ServerAlias *.joey.joey
    HostNameLookups Double
    UseCanonicalName off

  <Directory /home/mizutay/ganka>
   AllowOverride All
   Options FollowSymLinks
   Order allow,deny
   Allow from all
  </Directory>

</VirtualHost>

こんな感じで、joey.joeyドメインにインストールしたWordpressのfeedが取得できました。

© PHPress since 2008