web-dev-qa-db-ja.com

.htaccessを使用して、すべての.htmlページを.phpファイルとして実行しますか?

すべての.htmlファイルを.phpファイルとして実行する必要があり、明日のプレゼンテーションの前にすべてのリンクを変更する時間はありません。 Apacheサーバーでこれを「ハッキング」する方法はありますか?

47
Michael Novello

Webサイトのルートに.htaccessファイルを作成し、次の行を追加します。

[Apache2 @ Ubuntu/Debian:このディレクティブを使用]

AddType application/x-httpd-php .html .htm

または、以下のコメントから:

AddType application/x-httpd-php5 .html .htm

PHPをCGIとして実行している場合(おそらくそうではありません)、代わりに次のように記述する必要があります。

AddHandler application/x-httpd-php .html .htm 
58
Marc-François

My Godaddy Serverでは、次のコードが機能しました

Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
10
tony

Mod_rewriteのHまたはTフラグを使用して、すべての.htmlファイルをphpハンドラーによって強制的に解析することもできます。

h(ハンドラー)フラグの使用:

 RewriteEngine on

RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]

t(タイプ)フラグを使用:

 RewriteEngine on

RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]

または、PHPハンドラーで解析する拡張機能をパイプ|で区切られたルールパターンに追加できます。

例:

RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]

上記の例は、。htmlで終わるファイルのMIMEタイプを変更します。。htm。txt。fooからphp。

注:一部のサーバーでは、php5phpに変更する必要がありますこの例をハンドラ文字列で動作させる:

それを変更

[T=application/x-httpd-php5]

[T=application/x-httpd-php]
6
starkeen

Apache構成ファイルに次の行を追加する必要があります。

AddType application/x-httpd-php .htm .html

また、次の2つが必要です。

  1. 上書きを許可

    your_site.confファイル(例:/etc/Apache2/mods-available私の場合)、次の行を追加します。

    <Directory "<path_to_your_html_dir(in my case: /var/www/html)>">
        AllowOverride All
    </Directory>
    
  2. Rewrite Modを有効にする

    マシンで次のコマンドを実行します。

    Sudo a2enmod rewrite 
    

    これらの手順のいずれかの後、Apacheを再起動する必要があります。

    Sudo service Apache2 restart
    
5
Dorad

まだ問題がある人は

これを試してみてください(私のホスティングは Godaddy からのもので、これがすべての答えの中で私のために働いた唯一のものです。

AddHandler x-httpd-php5-cgi .html
5
ilight

通常、次を追加する必要があります。

Options +ExecCGI
 AddType application/x-httpd-php .php .html
 AddHandler x-httpd-php5 .php .html

ただし、GoDaddy共有ホスティング(php-cgi)の場合は、次の行も追加する必要があります。

AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html

出典: Parse HTML As PHP GodaddyでHTACCESSファイルを使用

4

これは、htmlおよびhtmページでphpスクリプトを実行する最良の方法だと思います。

AddType application/x-httpd-php5 .html .htm
4
Mouhssine

これは、他のすべての正解に対するエディションです。

正しいハンドラーが見つからない場合は、次の内容の.phpファイルを作成してください。

<?php echo $_SERVER['REDIRECT_HANDLER']; ?>

このファイルをブラウザで実行/開きます。

Output from the php code, copy this output

この出力を.htaccessファイルで使用します

Webサイトのルートに.htaccessファイル(通常はLinuxサーバー上のpublic_htmlまたはhtdocsという名前のフォルダー)を作成し、次の行を追加します。

AddType [[THE OUTPUT FROM ABOVE FILE]] .html .htm

AddType application/x-httpd-php70 .html .htm

重要な注意点:

空白のページまたはNotice: Undefined index: REDIRECT_HANDLERが表示される場合

.htaccessでデフォルトを試す

AddHandler application/x-httpd-php .html
3
th3pirat3

ここにあなたの.htaccessにこれを入れてください

AddType application/x-httpd-php .php .htm .html

これに関する詳細情報 ページ

2
andrewk

.htmlファイルをphpとして実行すると、.htaccessファイルで突然動作しなくなりました。

Godaddyのサポートにより、次のように変更されました。

AddHandler application/x-httpd-lsphp .html
1
Mike Slaught

Firefoxで@Marc-Françoisアプローチを使用して、htmlファイルをダウンロードするように促されました

最後に、以下が私のために働いています(両方を使用):

AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html

1
Philipp Michael

Raspberry Pi 3で実行しているPHP7.1を使用しています。

ファイル内/etc/Apache2/mods-enabled/php7.1.conf最後に追加しました:

AddType application/x-httpd-php .html .htm .png .jpg .gif
0
Wobbo
AddHandler application/x-httpd-php .php .html .htm
// or
AddType application/x-httpd-php .php .htm .html
0
John x3