2012-02-14 6 views
2

私の目標は、ローカルコピーと私の.htaccessファイルのライブコピーを持っているし、代わりにできるようにする必要が停止することでアプリケーション/ X-HTTPD-PHP5へのアプリケーションからXAMPP/PHPハンドルを変更/ X-のhttpd-phpの両方のローカル/ライブ設定に同じ単一の.htaccessファイルを使用するこれにより、サーバーの構成をより理解しやすくなります。私のライブサーバーは、私は明らかに設定を変更することはできません共有Webホストである一方、アパッチ:

私のローカルサーバーは、自分のコンピュータ上でXAMPPです。私は一からすべてを構成できるようになったわけではないので、もう少し長くXAMPPを使い続けるつもりです。さらに、XAMPPに精通している誰もがそう、私は成功せず、よりオンターゲットルートを試してみました、私は彼らのフォーラム(壊れサインイン/パスワードのリセット)を使用しようと管理者が日のために私の電子メールに応答しなかったことを知っている必要があります。

より具体的な問題は、私は自分のローカルサーバのための私のライブ共有サーバーのPHPハンドラを使用したいです。私は、次の...

のpublic_html/.htaccessの

AddType application/x-httpd-php5 .css .html .js .txt .xml 

を使用し、私のライブで共有Webホスト上の非ネイティブファイルでPHPを実行するに

...私は私を設定したいですこれをエミュレートするためのコンピュータ/ローカルセットアップは、ローカル/ライブ用の.htaccessファイルの別個のコピーを保持する必要はありません(これにより、サーバーの設定方法がわかります)。現在、私は、私は設定がXAMPP 1.7.7(現在の最新のリリース)であると思われる場所を追跡することができたローカル次...

のpublic_html/.htaccessの

AddType application/x-httpd-php .css .html .js .txt .xml 

を使用する必要があります...余分な\のhttpd-xampp.conf \

XAMPPの\ Apacheの\ confに

今は使われているPHPのバージョン(ない私の目標を)変えることに興味はありませんよ...私はちょうど私が住んでいるのと同じハンドルをローカルで使用できることを確認したい。私は単にストリング '5'を17行目(?)に追加しようとしましたが、動作しませんでした(保存されたサーバ、停止されたサーバ、サーバの再起動)。

<IfModule env_module> 
    SetEnv MIBDIRS "C:/MEDIA/INTERNET/xampp/php/extras/mibs" 
    SetEnv MYSQL_HOME "\\xampp\\mysql\\bin" 
    SetEnv OPENSSL_CONF "C:/MEDIA/INTERNET/xampp/apache/bin/openssl.cnf" 
    SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php" 
    SetEnv PHPRC "\\xampp\\php" 
    SetEnv TMP "\\xampp\\tmp" 
</IfModule> 

# 
# PHP-Module setup 
# 
LoadFile "C:/MEDIA/INTERNET/xampp/php/php5ts.dll" 
LoadModule php5_module "C:/MEDIA/INTERNET/xampp/php/php5apache2_2.dll" 

<FilesMatch "\.php$">enter code here 
    SetHandler application/x-httpd-php 
</FilesMatch> 
<FilesMatch "\.phps$"> 
    SetHandler application/x-httpd-php-source 
</FilesMatch> 

# 
# PHP-CGI setup 
# 
#<FilesMatch "\.php$"> 
# SetHandler application/x-httpd-php-cgi 
#</FilesMatch> 
#<IfModule actions_module> 
# Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe" 
#</IfModule> 


<IfModule php5_module> 
    PHPINIDir "C:/MEDIA/INTERNET/xampp/php" 
</IfModule> 

<IfModule mime_module> 
    AddType text/html .php .phps 
</IfModule> 

ScriptAlias /php-cgi/ "C:/MEDIA/INTERNET/xampp/php/" 
<Directory "C:/MEDIA/INTERNET/xampp/php"> 
    AllowOverride None 
    Options None 
    Order deny,allow 
    Deny from all 
    <Files "php-cgi.exe"> 
     Allow from all 
    </Files> 
</Directory> 

<Directory "C:/MEDIA/INTERNET/xampp/cgi-bin"> 
    <FilesMatch "\.php$"> 
     SetHandler cgi-script 
    </FilesMatch> 
    <FilesMatch "\.phps$"> 
     SetHandler None 
    </FilesMatch> 
</Directory> 

<Directory "C:/MEDIA/INTERNET/xampp/htdocs/xampp"> 
    <IfModule php5_module> 
     <Files "status.php"> 
      php_admin_flag safe_mode off 
     </Files> 
    </IfModule> 
    AllowOverride AuthConfig 
</Directory> 

<IfModule alias_module> 
    Alias /security "C:/MEDIA/INTERNET/xampp/security/htdocs/" 
    <Directory "C:/MEDIA/INTERNET/xampp/security/htdocs"> 
     <IfModule php5_module> 
      <Files "xamppsecurity.php"> 
       php_admin_flag safe_mode off 
      </Files> 
     </IfModule> 
     AllowOverride AuthConfig 
    </Directory> 

    Alias /phpmyadmin "C:/MEDIA/INTERNET/xampp/phpMyAdmin/" 
    <Directory "C:/MEDIA/INTERNET/xampp/phpMyAdmin"> 
     AllowOverride AuthConfig 
    </Directory> 

    Alias /webalizer "C:/MEDIA/INTERNET/xampp/webalizer/" 
    <Directory "C:/MEDIA/INTERNET/xampp/webalizer"> 
     <IfModule php5_module> 
      <Files "webalizer.php"> 
       php_admin_flag safe_mode off 
      </Files> 
     </IfModule> 
     AllowOverride AuthConfig 
    </Directory> 
</IfModule> 

だから私は "アプリケーションが/ X-のhttpd-phpの" に割り当てられているものは何でもで動作するように "アプリケーション/ X-HTTPD - PHP5の" を割り当てる方法を知らないと私はしていない覚えています私が使用しているPHPのバージョンを変更したい(うまく動作する)。

私はまた、プログラムを使用した後に注意する必要があります詳細検索& XAMPPディレクトリに8つのファイルが見つかりました。 "application/x-httpd-php"という文字列で置き換えられました。 Apacheの設定に関係しているようです。

誰かが私は、私は両方の答えを受け入れるとさせていただきます。この作業を得るのを助けることができる場合のアップ票。必要であれば、私はどんな説明をしてもうれしいです。

答えて

2

そうでもないあなたの質問への答えが、私は自分自身にこれをしないだろう。 Apacheの設定ファイル形式は実際にはこのようなもののために作られていません。私に

、二つの別々のhtaccessファイル(のような.htaccess.htaccess.localを有し、かつAccessFileNameディレクティブを介してローカルサーバーを制御:。

AccessFileName .htaccess.local 

は行くための最良の方法です

あなたが本当にしたい場合すべてのファイルを1つのファイルにまとめるには、<IfDefine>ブロックを使用してローカルディレクティブとライブディレクティブを区切ることができます。サーバーをローカルで起動するときにdefineを設定し、その定義の存在または非存在をテストできます。

+0

残念ながら、私はApacheを設定する方法を学ぶのに役立ちません。この場合はPHPですが、AccessFileNameは私が簡単に.htaccessを何かに変更できるようにしていますので、私はあなたに感謝します。答えは、投票する。 – John

+0

@John十分に公正。私は、あなたが望むものを達成するための方法についての段落を追加しました。事は、.htaccess形式は条件付きブロックのようなものでは本当に強くないということです。それは本当にそのために設計されていませんが、おそらく 'IfDefine'があなたのために働くことができます。確かに言ってください –

+0

すべての時間を費やした後、これは最良のアプローチと思われます。 .local.htaccessファイルと.htaccessファイルと、サーバーを再構築する必要がある場合に備えて、構成変更のメモをローカルで使用しています。ありがとう! – John

関連する問題