Я хочу настроить веб-сервер Case InSenSitive - PullRequest
1 голос
/ 11 марта 2020

ПРИМЕЧАНИЕ : Многие прочитанные мной посты рассказывают о httpd, и, как мне сказали, это вводит меня в заблуждение: Modern Apache не использует файл httpd.conf, а вместо этого использует свой собственный apache2 .conf

Я установил apache на vps с debian

Я выполнил следующие команды

sudo a2enmod speling
sudo service apache2 restart
cd /etc/apache2/sites-available
sudo a2ensite 000-default
sudo service apache2 restart

Если я пытаюсь изменить AllowOverride с None на All в моем /etc/apache2/apache2.conf конкретно в этом разделе

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

я получаю следующую ошибку в браузере? http://www.mumti.com/indeX.HtmL

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.
Apache/2.4.25 (Debian) Server at www.mumti.com Port 80

Вот копия /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    ServerName www.mumti.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf


</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Вот копия моего / var / www/.htaccess, я не знаю, действует ли он вообще, как вы можете это сказать?

#
# 20200311
# https://www.a2hosting.com/kb/developer-corner/apache-web-server/using-the-mod-speling-apache-module
# AllowOverride All

#<Directory />
#   Options Indexes FollowSymLinks
#   AllowOverride All
#   Require all granted
#</Directory>


# https://stackoverflow.com/questions/17223855/how-would-i-make-apache-case-insensitive-using-htaccess
# 20200310
RewriteEngine on
CheckSpelling on

# https://www.a2hosting.com/kb/developer-corner/apache-web-server/using-the-mod-speling-apache-module
<IfModule mod_speling.c>
    CheckCaseOnly on
    CheckSpelling on
</IfModule>

Некоторые говорят, что вообще не используют .htaccess, я в порядке с этим. Пожалуйста, покажите мне, как получить заголовок вопроса, независимо от того, был ли /etc/apache2/sites-available/000-default.conf или /etc/apache2/apache2.conf один.

Я хочу иметь возможность запрашивать URL-адреса домена в любом правописании, будь то файл или каталог

Спасибо всем участникам и за этот замечательный сайт.

Обновление : больше запросов информации об ошибке.log, ОК Я нашел, где находится этот файл. Вот хвост /var/log/apache/error.log

[Wed Mar 11 18:59:50.815205 2020] [mpm_event:notice] [pid 3281:tid 140482295300160] AH00489: Apache/2.4.25 (Debian) configured -- resuming normal operations
[Wed Mar 11 18:59:50.815277 2020] [core:notice] [pid 3281:tid 140482295300160] AH00094: Command line: '/usr/sbin/apache2'
[Wed Mar 11 18:59:56.596612 2020] [core:alert] [pid 3283:tid 140482088769280] [client 24.20.17.209:24867] /var/www/.htaccess: <Directory not allowed here
[Wed Mar 11 18:59:59.797563 2020] [core:alert] [pid 3283:tid 140482097161984] [client 24.20.17.209:24872] /var/www/.htaccess: <Directory not allowed here
[Wed Mar 11 19:00:02.115843 2020] [core:alert] [pid 3283:tid 140482080376576] [client 24.20.17.209:24877] /var/www/.htaccess: <Directory not allowed here
[Wed Mar 11 19:02:09.976967 2020] [core:alert] [pid 3282:tid 140482122340096] [client 24.20.17.209:25087] /var/www/.htaccess: <Directory not allowed here
[Wed Mar 11 19:02:11.213632 2020] [core:alert] [pid 3282:tid 140482113947392] [client 24.20.17.209:25090] /var/www/.htaccess: <Directory not allowed here
[Wed Mar 11 19:02:26.878673 2020] [core:alert] [pid 3282:tid 140482105554688] [client 24.20.17.209:25119] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Wed Mar 11 19:02:28.125043 2020] [core:alert] [pid 3282:tid 140482097161984] [client 24.20.17.209:25122] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Wed Mar 11 19:02:29.623182 2020] [core:alert] [pid 3282:tid 140482088769280] [client 24.20.17.209:25126] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Wed Mar 11 19:02:32.544649 2020] [mpm_event:notice] [pid 3281:tid 140482295300160] AH00491: caught SIGTERM, shutting down
[Wed Mar 11 19:02:32.636398 2020] [mpm_event:notice] [pid 3361:tid 139631042101312] AH00489: Apache/2.4.25 (Debian) configured -- resuming normal operations
[Wed Mar 11 19:02:32.636474 2020] [core:notice] [pid 3361:tid 139631042101312] AH00094: Command line: '/usr/sbin/apache2'
[Wed Mar 11 19:02:36.250353 2020] [core:alert] [pid 3363:tid 139630838007552] [client 24.20.17.209:25137] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Wed Mar 11 19:02:37.400118 2020] [core:alert] [pid 3363:tid 139630829614848] [client 24.20.17.209:25141] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Wed Mar 11 19:02:38.932964 2020] [core:alert] [pid 3363:tid 139630821222144] [client 24.20.17.209:25144] /var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Wed Mar 11 19:04:54.443494 2020] [mpm_event:notice] [pid 3361:tid 139631042101312] AH00491: caught SIGTERM, shutting down

Помните, что вы можете дать мне указание настроить любые минимальные параметры, необходимые для достижения цели. За исключением незначительных попыток настройки над файлами конфигурации, они очень близки к установке по умолчанию apache прошлой ночью. Спасибо.

Также, почему я получаю этот ответ?

admin@VRR:~$ sudo service apache2 restart
: invalid option-
history: usage: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
admin@VRR:~$

Я применяю @MrWite предложенный шаблон для 000-default.conf в предлагаемом ответе, но жалоба sudo service apache2 restart выше остается? неверный вариант ?? Вот недавний файл error.log (я недавно его стер).

[Wed Mar 11 21:47:47.515090 2020] [mpm_event:notice] [pid 3621:tid 140717672165440] AH00489: Apache/2.4.25 (Debian) configured -- resuming normal operations
[Wed Mar 11 21:47:47.515169 2020] [core:notice] [pid 3621:tid 140717672165440] AH00094: Command line: '/usr/sbin/apache2'
[Wed Mar 11 21:59:14.795332 2020] [mpm_event:notice] [pid 3621:tid 140717672165440] AH00491: caught SIGTERM, shutting down
[Wed Mar 11 21:59:14.895378 2020] [mpm_event:notice] [pid 3716:tid 140701491482688] AH00489: Apache/2.4.25 (Debian) configured -- resuming normal operations
[Wed Mar 11 21:59:14.895455 2020] [core:notice] [pid 3716:tid 140701491482688] AH00094: Command line: '/usr/sbin/apache2'

Я обнаружил проблему с invalid option thingy, это результат того, что я загрузил свой .bash_profile, используемый для моего mintty, на windows программирование, я думаю, что не все bash команды одинаковы go цифры ... enter image description here

Я хотел бы иметь системную / командную строку, подобную той, что была здесь https://youtu.be/7QF0toTZLbw?t=164

Примечание : это не только URL-адреса, но и ссылки на файлы. Принятый ответ работает даже с указанными именами файлов изображений внутри HTML, например <img src="sensitive.jpg"/>, в то время как фактическое имя файла искажено, например SenSitive.JpG, действительно работает. СПАСИБО APACHE !!!

enter image description here

1 Ответ

1 голос
/ 12 марта 2020

Если у вас есть доступ к конфигурации сервера, тогда .htaccess (если это не помогает при распределении) на самом деле не нужно.

Вместо этого попробуйте следующее:

<VirtualHost *:80>
    # Assuming you want to access the domain apex as well?
    ServerName example.com
    ServerAlias www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted

        # Case-Insensitive
        CheckSpelling on
        CheckCaseOnly on
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

И удалите файл .htaccess.

Обратите внимание, что документ Root (каталог root вашего сайта) - /var/www/html. Именно к этому каталогу вам нужно предоставить доступ в соответствующем контейнере <Directory>. Обычно это каталог, в котором должен находиться файл .htaccess (если он включен).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...