この記事では、次のテクノロジーを使用しています。
- Apache®を実行しているLinux®クラウドサーバー
- Apacheを実行している専用のLinuxサーバー
- Rackspaceクラウドサイト
.htaccess を使用して、サイトに変更を加えることができます この記事では、実行できる変更の一部を示します。
.htaccessファイルを見つけます
UNIX®およびLinuxファイルシステムでは、隠しファイルの名前の前にピリオドがあります(たとえば、 .htaccess および.htpasswd )。 FileManおよび多くのファイル転送プロトコル(FTP)アプリケーションは、デフォルトで非表示ファイルを表示しません。
.htaccessを含む隠しファイルを表示する方法 ファイルは、使用しているFTPプログラムによって異なります。このセクションでは、一般的なFTPプログラムでこれを行う方法を示します。
PHPの最大実行時間を変更する
クラウドサイトを使用している場合は、 .htaccess を使用して、クラウドサーバーのPHP®の最大実行時間を変更する必要があります。 ファイル。
.htaccess内 実行中のスクリプトと同じディレクトリにあるファイルには、次の行を含めます。
php_value max_execution_time <PHP maximum execution time>
PHP maximum execution time
を置き換えます 最大実行時間として使用したい値を使用します。デフォルトの時間は30秒です。ファイルを正常に変更すると、新しい最大実行時間がPHP情報ファイルに表示されます。
PHPのメモリ制限を変更する
クラウドサイトを使用している場合は、 .htaccessを使用してPHPのメモリ制限を変更する必要があります ファイル。
.htaccess内 実行中のスクリプトと同じディレクトリにあるファイルには、次の行を含めます。
php_value memory_limit <megabytes>M
megabytes
を置き換えます 使用するメガバイト値を使用します。デフォルトのサイズは128MBです。ファイルを正常に変更すると、PHP情報ファイルに新しいメモリ制限が表示されます。
PHPの最大アップロードファイルサイズを変更します
クラウドサイトを使用している場合は、 .htaccessを使用してPHPの最大アップロードファイルサイズを変更する必要があります ファイル。
.htaccess内 実行中のスクリプトと同じディレクトリにあるファイルには、次の行を含めます。
php_value upload_max_filesize <megabytes>M
megabytes
を置き換えます 使用するメガバイト値を使用します。デフォルトのサイズは8MBです。ファイルを正常に変更すると、新しい最大アップロードサイズがPHP情報ファイルに表示されます。
WordPress®を実行していて、最大アップロードサイズを増やしても問題が解決しない場合は、次の追加設定を含めることができます。
php_value post_max_size ?M
php_value max_execution_time 200
php_value max_input_time 200
クラウドサイトを使用している場合は、 .htaccessを使用して投稿の最大サイズを変更する必要があります ファイル。
.htaccess内 実行中のスクリプトと同じディレクトリにあるファイルには、次の行を含めます。
php_value post_max_size <megabytes>M
megabytes
を置き換えます 使用するメガバイト値(たとえば、16
。
301リダイレクトを作成
301リダイレクトは、ハイパーテキスト転送プロトコル(HTTP)ステータスメッセージであり、ユーザーまたは検索エンジンを、最初に要求されたものとは異なるURL(Uniform Resource Locator)に永続的に転送します。 301リダイレクトを使用することは、ユーザーと検索エンジンがコンテンツを確実に見つけられるようにするための効果的な方法です。
次の例はPHPに固有のものであり、クラウドサイトをPHP用に構成した場合にのみ機能します。これらの例は、Active Server Pages(ASP)またはASP.NETを使用するインターネットインフォメーションサービス(IIS)では機能しません。
次の例は、 .htaccessを使用する基本的な301リダイレクトの例です。 ファイル。このファイルを、リダイレクトを実行するフォルダーに保存します。
たとえば、 .htaccessを配置した場合 /www.domain.com/web/content/フォルダー内のファイル (FTPを使用して)訪問者がブラウザでhttp://www.domain.comにアクセスすると、リダイレクトが発生します。
次の表は、 .htaccessにコードを追加してさまざまな種類のリダイレクトを実行する方法を示しています。 ファイル:
リダイレクト | 例 |
---|---|
単一のページをリダイレクトする | Redirect 301 /pagename.php http://www.domain.com/pagename.html |
サイト全体をリダイレクトする | Redirect 301 / http://www.domain.com/ |
サイト全体をサブフォルダーにリダイレクトする | Redirect 301 / http://www.domain.com/subfolder/ |
サブフォルダーを別のサイトにリダイレクトする | Redirect 301 /subfolder http://www.domain.com/ |
RedirectMatch301を使用してリダイレクトする
次の構文は、 .htmlを含むファイルをリダイレクトします 同じファイル名を使用する拡張子。ただし、 .php 代わりに拡張機能:
RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php
書き換えによって301リダイレクトを実行することもできます .htaccessのURL ファイル。次のセクションのいくつかには、このタスクを実行するためのサンプルコードが含まれています。
古いドメインから新しいドメインにリダイレクトする
次の書き換え構文を使用して、古いドメインから新しいドメインにリダイレクトします。
RewriteEngine on
RewriteBase /
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
サブドメインを使用する場所にリダイレクトする
次の書き換え構文を使用して、サブドメインwww
を使用する場所にリダイレクトします :
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC]
サブドメインを使用する場所のサブディレクトリにリダイレクトする
次の書き換え構文を使用して、サブドメインを使用する場所のサブディレクトリにリダイレクトします。
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
サブドメインを使用している場所から使用していない場所にリダイレクトする
次の書き換え構文を使用して、サブドメインを使用する場所から使用しない場所にリダイレクトします。
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
注 :検索エンジンに適したリダイレクトチェッカーツールを使用して、リダイレクトが検索エンジンに適していることを確認します。
PHPのデフォルトの文字セットを変更する
.htaccess を変更して、PHPのデフォルトの文字セットを変更することもできます。 ファイル。 .htaccess内 文字セットを変更するディレクトリ内のファイルには、次のコード行を含めます。
php_value default_charset <character set>
character set
を置き換えます ISO-8859-1
など、サイトに必要な文字セットを使用する 。
注 : .htaccess で別の文字セットを指定しない場合、CloudSitesはデフォルトの文字セットUTF-8を使用します ファイル。
LinuxおよびApacheベースのWebサイトでMIMEタイプを定義する
LinuxおよびApacheベースのWebサイトで定義されていない多目的インターネットメール拡張機能(MIME)タイプがある場合は、 .htaccessで定義できます。 次のコードを追加してファイルを作成します:
AddType MIMETYPE .extension
たとえば、QuickTime .movのMIMEタイプを追加するには または.qt ファイル、次のコードを追加します:
AddType video/quicktime .qt .mov
ApacheがサポートするMIMEタイプの広範なリストについては、ApacheSoftwareFoundationSubversionServerを参照してください。
注 :前のリンクのフォーマットは、 .htaccessで使用するには完全に正しくない可能性があります ファイル。
PHPサイトでSSLを強制する
.htaccess にコードを追加することで、ユーザーにSecure Sockets Layer(SSL)を介してPHPサイトに安全にアクセスするように強制できます。 ファイル。
次のコードを使用して、Webサイト全体にSSLを強制します。
#Force SSL on entire site
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.*)$ https://(YOURDOMAIN)/$1 [R,L]
次のコードを使用して、特定のディレクトリにSSLを強制します。
#Force SSL on a specific directory
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^DIRNAME/(.*)$ https://YOURDOMAIN/DIRNAME/$1 [R,L]
PHPサイトのデフォルトドキュメントを変更する
PHPベースのWebサイトのデフォルトのドキュメントを変更するには、次のコードを .htaccessに追加します。 ファイル:
DirectoryIndex filename.html
次の例に示すように、このコードにファイル名を追加することもできます。
DirectoryIndex filename.html default.htm home.php home.html
HTMLのデフォルトの文字セットを変更する
HTMLのデフォルトの文字セットを変更するには、次の行を .htaccessに追加します。 次の例に示すように、文字セットを変更するディレクトリにあるファイル:
AddDefaultCharset <character set>
character set
を置き換えます UTF-8
など、サイトに必要な文字セットを使用する 。
または、AddType
を使用することもできます 次の例に示すように、ディレクティブ:
AddType 'text/html; charset=<character set>' html DefaultLanguage en-US
注 : .htaccess で別の文字セットを指定しない場合、CloudSitesはデフォルトの文字セットUTF-8を使用します ファイル。
SSIを有効にする
.htaccess を使用して、サーバーサイドインクルード(SSI)をアクティブ化できます。 次のディレクティブを使用:
AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes
注 :SSIを使用してPHPコンテンツを提供することはできません。 PHPコンテンツの場合、次の例に示すように、PHPのincludeステートメントまたはrequireステートメントを使用するか、インラインフレームを使用することをお勧めします。
<html> <head></head> <body> <iframe src="/support/how-to/test.php" title="test"> </iframe> </body> </html>
PHPスクリプトがディレクトリで実行されないようにする
PHPスクリプトがディレクトリで実行されないようにするには、 .htaccessを作成します。 そのディレクトリにファイルを追加し、次の行を追加します。
removehandler .php
次に、停止するファイル拡張子を追加します。
HTMLおよびその他のページでPHPを処理する
これらの拡張機能をPHPハンドラーによって提供されるように設定することにより、HTMおよびHTMLページでPHPを処理させることができます。 .htmでPHP処理を有効にできます および.html .htaccess内のファイル 次のディレクティブを使用して:
AddHandler application/x-httpd-php php htm html AddType text/html php
拡張子が.testのファイルでPHPを処理することもできます 次のディレクティブを使用する:
AddHandler application/x-httpd-php php test AddType text/html php
AddHandler
に関する詳細情報を見つけることができます およびAddType
ApacheWebサイトのディレクティブ。
注 :PHPページにはPHP拡張機能のみを使用することをお勧めします。
PHPWebサイトのエラーページを設定する
.htaccess に次の例のような行を配置することで、PHPWebサイトのカスタムエラーページを作成できます。 ファイル:
ErrorDocument "code" "location of error document"
次の例は、404エラーページを作成する方法を示しています。
ErrorDocument 404 /404.html
このディレクティブを使用して、他のエラーコードのエラーページを作成することもできます。ただし、 .htaccessの場所に関連するエラーページへのパスを指定する必要があります ファイル。
PHPでディレクトリリストを有効にする
PHPでディレクトリリストを有効にするには、次の行を .htaccessに追加します。 ファイル:
Options +Indexes
多くのJoomla!®コンテンツ管理システム(CMS)のインストールでは、顧客は魔法の見積もりをオフにする必要があります PHP5.3のオプション。 (この機能はPHP 5.4で削除されました)。次のコードを.htaccessに追加します 魔法の引用をオフにするファイル 機能:
php_flag magic_quotes_gpc Off
LinuxおよびPHPで実行されているWebサイトのタイムゾーンを設定します
このセクションの情報を使用して、LinuxおよびPHPで実行されているWebサイトのタイムゾーンを変更します。
Rackspace Cloud SitesのデフォルトのタイムゾーンはCentralTime(North America)であり、夏時間が採用されています。 UTCオフセットは次のとおりです:
- 中部標準時UTC-6:00
- 中部夏時間UTC-5:00
LinuxおよびPHPで実行されているWebサイトのタイムゾーンを変更するには、 .htaccessを編集する必要があります。 次の行を含めるファイル:
php_value date.timezone <TIMEZONE>
可能なTIMEZONE
の包括的なリストについては 値については、サポートされているタイムゾーンのリストを参照してください。
次の例は、タイムゾーンをドバイに設定する方法を示しています。
php_value date.timezone Asia/Dubai
タイムゾーンの変更をテストするには、PHP情報ファイルを確認するか、次のPHPファイルを実行します。
<?php echo date('l jS \of F Y h:i:s A'); ?>