すべての.htmlファイルを.phpファイルとして実行する必要があり、明日のプレゼンテーションの前にすべてのリンクを変更する時間はありません。 Apacheサーバーでこれを「ハッキング」する方法はありますか?
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
My Godaddy Serverでは、次のコードが機能しました
Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
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。
注:一部のサーバーでは、php5をphpに変更する必要がありますこの例をハンドラ文字列で動作させる:
それを変更
[T=application/x-httpd-php5]
に
[T=application/x-httpd-php]
Apache構成ファイルに次の行を追加する必要があります。
AddType application/x-httpd-php .htm .html
また、次の2つが必要です。
上書きを許可
your_site.conf
ファイル(例:/etc/Apache2/mods-available
私の場合)、次の行を追加します。
<Directory "<path_to_your_html_dir(in my case: /var/www/html)>">
AllowOverride All
</Directory>
Rewrite Modを有効にする
マシンで次のコマンドを実行します。
Sudo a2enmod rewrite
これらの手順のいずれかの後、Apacheを再起動する必要があります。
Sudo service Apache2 restart
まだ問題がある人は
これを試してみてください(私のホスティングは Godaddy からのもので、これがすべての答えの中で私のために働いた唯一のものです。
AddHandler x-httpd-php5-cgi .html
通常、次を追加する必要があります。
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
これは、htmlおよびhtmページでphpスクリプトを実行する最良の方法だと思います。
AddType application/x-httpd-php5 .html .htm
これは、他のすべての正解に対するエディションです。
正しいハンドラーが見つからない場合は、次の内容の.phpファイルを作成してください。
<?php echo $_SERVER['REDIRECT_HANDLER']; ?>
このファイルをブラウザで実行/開きます。
この出力を.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
.htmlファイルをphpとして実行すると、.htaccessファイルで突然動作しなくなりました。
Godaddyのサポートにより、次のように変更されました。
AddHandler application/x-httpd-lsphp .html
Firefoxで@Marc-Françoisアプローチを使用して、htmlファイルをダウンロードするように促されました
最後に、以下が私のために働いています(両方を使用):
AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html
Raspberry Pi 3で実行しているPHP7.1を使用しています。
ファイル内/etc/Apache2/mods-enabled/php7.1.conf
最後に追加しました:
AddType application/x-httpd-php .html .htm .png .jpg .gif
AddHandler application/x-httpd-php .php .html .htm
// or
AddType application/x-httpd-php .php .htm .html