Моя цель – перестать иметь локальную копию и живую копию моего файла .htaccess и вместо этого иметь возможность использовать один и тот же файл .htaccess для локальных / живых конфигураций BOTH. Это заставит меня лучше понять настройку сервера.
Мой локальный сервер – XAMPP на моем компьютере, а мой живой сервер – это общий веб-хост, где я, очевидно, не могу изменить настройки. Я не в такой ситуации, когда я могу настроить все с нуля, поэтому я буду придерживаться XAMPP еще некоторое время. Кроме того, кто-нибудь, кто знаком с XAMPP, должен знать, что я пытался использовать их форумы (сломанный сбой / сброс пароля), и администратор не ответил на мой адрес электронной почты в течение нескольких дней, поэтому я пробовал больше на целевом маршруте без успеха.
Более конкретная проблема заключается в том, что я хочу использовать обработчик PHP в реальном времени для моего локального сервера.
Чтобы выполнить PHP в не-родных файлах на моем общедоступном веб-хосте, я использую следующее …
public_html / .htaccess
AddType application/x-httpd-php5 .css .html .js .txt .xml
… Я хочу настроить свою компьютерную / локальную настройку для эмуляции этого, поэтому мне не нужно хранить отдельные копии файлов .htaccess для локальных / живых (это заставляет меня узнать, как настроить сервер). В настоящее время я должен использовать следующие локально …
public_html / .htaccess
AddType application/x-httpd-php .css .html .js .txt .xml
Я смог отслеживать, где конфигурация, похоже, находится в XAMPP 1.7.7 (текущая последняя версия) …
XAMPP \ Apache \ конф \ экстра \ HTTPD-xampp.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>
Поэтому я не знаю, как назначить « application / x-httpd-php5 » для работы с любым « приложением / x-httpd-php », которому присваивается и помнить, что я не хочу изменять версию PHP, которую я использую (работает отлично).
Следует также отметить, что после использования программы Advanced Find & Replace я обнаружил восемь общих файлов в каталоге XAMPP со строкой «application / x-httpd-php», однако указанный выше файл является единственным, что кажется актуальным для Apache конфигурации.
Если кто-то может помочь мне получить эту работу, я буду рад принять и ответить на голосование; Я также с удовольствием сделаю какие-либо разъяснения в случае необходимости.
Не совсем ответ на ваш вопрос, но я бы не сделал этого сам с собой. Формат файла конфигурации Apache на самом деле не создан для таких вещей.
Для меня есть два отдельных файла htaccess (например, .htaccess
и .htaccess.local
и управление локальным сервером через директиву AccessFileName
:
AccessFileName .htaccess.local
это лучший способ пойти.
Если вы действительно хотите иметь все в одном файле, это может быть возможно с помощью блоков <IfDefine>
для разделения локальных и живых директив. Вам нужно будет установить определение при запуске своего сервера локально и затем проверить наличие или отсутствие этого определения.