ホームページ >バックエンド開発 >PHPチュートリアル >Linux での php の擬似静的構成、linuxphp pseudo-static_PHP チュートリアル

Linux での php の擬似静的構成、linuxphp pseudo-static_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:11:27932ブラウズ

Linux での PHP の擬似静的構成、linuxphp pseudo-static

mod_rewrite は、疑似静的ページを実現できる Apache の非常に強力な機能です。以下で詳しい使い方を説明していきます

1. Apache が mod_rewrite をサポートしているかどうかを確認します

php が提供する phpinfo() 関数を通じて環境設定を表示し、Ctrl+F を使用して「ロードされたモジュール」を見つけます。これには、apache2handler が開いたすべてのモジュールがリストされています。「mod_rewrite」が含まれている場合は、すでにサポートされています。セットアップを続ける必要はありません。
「mod_rewrite」がオンになっていない場合は、Apache インストール ディレクトリ「/apache/conf/」の下にある httpd.conf ファイルを開き、Ctrl+F を使用して「LoadModule rewrite_module」を見つけ、その前にある「#」を削除します。
見つからない場合は、「LoadModule」エリアに移動し、最終行(必ず専用行)に「LoadModule rewrite_module, modules/mod_rewrite.so」を追加し、Apacheサーバを再起動してください。

2. Apache サーバーが .htaccess をサポートするようにします

ローカル APACHE サーバーで「.htaccess」をサポートさせるにはどうすればよいですか? 実際、Apache の httpd.conf 設定を変更するだけで、APACHE で .htaccess をサポートさせることができます。 httpd.conf ファイルを開きます (どこですか? APACHE ディレクトリの CONF ディレクトリ内)、
テキストエディタで開いた後、

を検索します

コードをコピーします コードは次のとおりです:

オプションフォローSymLinks
許可オーバーライドなし

に変更されました

コードをコピーします コードは次のとおりです:

オプションフォローSymLinks
すべて上書きを許可

以上です。
3..htaccessファイルを作成します
.htaccess ファイルを作成する簡単な方法が 1 つあります:
メモ帳で開き、[ファイル] – [名前を付けて保存] をクリックし、ファイル名ウィンドウに「.htaccess」と入力し、緑色の部分全体に注目してください。 つまり、英語の引用符を含めて、「保存」をクリックします。
4.書き換えルール学習
新しい .htaccess ファイルを作成したら、次の内容をそのファイルに書き込みます:
#rewriteengine の RewriteEngine は書き換えエンジンのスイッチです。on はオン、off はオフです
RewriteRule ([0-9]{1,})index.php?id=1
RewriteRule について説明します。 RewriteRule は正規表現をサポートする書き換えルールです。上記の ([0-9]{1,}) は数値
を指します。 単語で構成されており、数字で終わることを示すエンドマークです。さて、これで疑似静的ページを実装できます: RewriteEngineonRewriteRule([a−zA−Z]1,)−([0−9]1,).htmlindex.php?action=1&id=2
([a-zA-Z]{1,})-([0-9]{1,}).html はルール、index.php?action=1&id=2 は置換される形式、1 は置換される形式を表します。
1 つの括弧は値と一致し、2 は 2 番目の括弧を表し、以下同様です。 !処理する PHP スクリプトを作成します:index.phpPHP code echo 'Your Action is: '._GET['action'];
エコー「
」 ';
echo 'あなたのIDは:' $_GET['id'];
?>
さて、ブラウザに次のように入力してみましょう:
localhost/page-18.html
出力は次のとおりです:
あなたのアクションは: ページ
あなたのIDは: 18

++++++++++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++

Apache の httpd.conf を確認すると、LoadModule rewrite_module modules/mod_rewrite.so 行がありません。方法は次のとおりです。

Apache ソース コード パッケージのパスは次のとおりです: /ftp/httpd2.2

Apache インストールパス:/usr/local/apache/

1. mod_rewrite モジュールを追加します

コードをコピーします コードは次のとおりです:
# find . -name mod_rewrite.c //Apache ソース コードのインストール ディレクトリで mod_rewrite.c ファイルを探します
./modules/mappers/mod_rewrite.c
# cd /ftp/httpd2.2/modules/mappers //mod_rewrite.c ファイルを含むディレクトリを入力します
# /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs は、現在 Apache を使用している bin ディレクトリ内の絶対パスを指定する必要があります
# /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

エラーがない場合は、mod_rewrite.so ファイルが Apache のモジュール ディレクトリ (/usr/local/apache/modules) でコンパイルされる必要があります。

httpd.conf ファイルを編集し、次のように httpd.conf に mod_rewrite.so の読み込みステートメントが既に含まれていることを確認します。

LoadModule mod_rewrite_module modules/mod_rewrite.so

2.Apacheを再起動します

1. 以下のエラーが発生した場合:

httpd: /usr/local/apache/conf/httpd.conf の 54 行目の構文エラー: ファイル /usr/local/apache/modules/mod_rewrite.so で API モジュール構造 `mod_rewrite_module' が見つかりません: /usr/ local/apache/modules/mod_rewrite.so: 未定義のシンボル: mod_rewrite_module

必要です

LoadModule mod_rewrite_module modules/mod_rewrite.so

に変更されました

LoadModule rewrite_module modules/mod_rewrite.so

2.以下のエラーが発生した場合

httpd: /usr/local/apache/conf/httpd.conf の 54 行目の構文エラー: モジュール rewrite_module が組み込まれているためロードできません

モジュールが組み込まれており、転送する必要がないことを示します。コメントアウトします

#LoadModule rewrite_module modules/mod_rewrite.so

3. 仮想サイトの URL 書き換えを有効にする

1. httpd-vhost.conf を編集し、対応するサイトタグを追加します。

コードをコピーします コードは次のとおりです:
ディレクトリ /website/webA
すべて上書きを許可
/ディレクトリ


つまり:

コードをコピーします コードは次のとおりです:
仮想ホスト *:80
ドキュメントルート /website/webA
ErrorLog ログ/webA.com-error_log
CustomLog ログ/webA.com-access_log 共通
ディレクトリ /website/webA
すべて上書きを許可
/ディレクトリ
/仮想ホスト


4. サイトの書き換えルールをファイル名「.htaccess」でサイトのルートディレクトリに保存します。 5.Apacheを再起動します

http://www.bkjia.com/PHPjc/929096.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/929096.html技術記事 Linux における PHP の擬似静的設定、linuxphp pseudo-static mod_rewrite は、擬似静的ページを実現できる Apache の非常に強力な機能です。詳しい使い方をお話します 1. 検出...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。