GNU/Linux >> Linux の 問題 >  >> Linux

Linux.htaccessのヒントとコツ

この記事では、次のテクノロジーを使用しています。

  • 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'); ?>

Linux
  1. Linuxでの印刷にCUPSを使用するためのヒントとコツ

  2. curlとwgetのヒントとコツ

  3. MySQLコマンドラインのヒントとコツトップ8

  1. 知っておく価値のある10の興味深いLinuxコマンドラインの秘訣とヒント

  2. Linux環境変数のヒントとコツ

  3. Linuxで出力をファイルとStdoutにリダイレクトする方法

  1. Linuxでの5つの興味深いコマンドラインのヒントとコツ–パート1

  2. Linux でサポートおよび推奨されるファイル システム

  3. お気に入りの rsync のヒントとコツ