CentOS 6.4 64-разрядная.
Apache 2.4.6
PHP-FPM 5.5.4
Домашняя страница из корня загружается нормально http://csillamvilag.com
Но все остальные страницы возвращают 404 (CMS - это WordPress).
Я также могу получить доступ и войти в серверную часть WordPress.
Ни одна из страниц WordPress, кроме домашней, не работает (все возвращают 404), например. http://csillamvilag.com/csillamtetovalas/csillamtetovalas-tanfolyamok/
http://csillamvilag.com/viszonteladok/
http://www.csillamvilag.com/forumok/
Ни одна из страниц OpenCart не работает (все возвращают 404)
например http://www.csillamvilag.com/shop/hu/
Проблема, похоже, связана с перезаписью URL ...
Если мы попытаемся получить доступ к файлу напрямую или через уродливый URL-адрес, это покажется более или менее хорошо, например http://csillamvilag.com/shop/index.php?route=product/product&product_id=231
Но если мы попробуем "красивый URL" или "SEO URL", это не так,
например http://www.csillamvilag.com/shop/hu/halvany-lila-strasszko-3mm
(этот "красивый URL" соответствует той же странице, что и приведенный выше пример уродливого URL)
Это указывает на проблему перезаписи URL в Apache. Правила перезаписи в /home/.htaccess, которые влияют на WordPress и /home/shop/.htaccess, которые влияют на OpenCart, кажутся нормальными. например WordPress / root .htaccess - это:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Apache работает от имени пользователя apache.
Все соответствующие файлы WordPress и OpenCart принадлежат пользователю apache.
access_log
127.0.0.1 - - [07 / ноя / 2013: 02: 54: 07 +0100] "GET / server-status HTTP / 1.1" 404 211
error_log имеет размер на пару ГБ, но вот фрагмент
[Пт, ноябрь 08, 01:19: 03.018295 2013] [core: info] [pid 35359: tid 139812315064064] [client 180.76.5.161:18109] AH00128: Файл не существует: / home / shop / en / rhinestones-diamante / peach -стразы-3мм
[Пт, 08 ноя, 01:19: 03.615994 2013] [authz_core: debug] [pid 35359: tid 139812105266944] mod_authz_core.c (828): [client 66.249.78.16:53716] AH01628: результат авторизации: предоставлено (без директив)
[Пт, ноябрь 08, 01:19: 03.616037 2013] [proxy_fcgi: debug] [pid 35359: tid 139812105266944] mod_proxy_fcgi.c (120): [client 66.249.78.16:53716] AH01060: установить r-> filename для прокси: fcgi: //127.0.0.1:9000/home/kepek/index.php/tag/1/h%C3%ADres
[Пт, 08 ноября, 01:19: 03.616054 2013] [прокси: отладка] [pid 35359: tid 139812105266944] mod_proxy.c (1100): [client 66.249.78.16:53716] AH01143: Запуск обработчика схемы fcgi (попытка 0)
[Пт, 08 ноя, 01:19: 03.616061 2013] [proxy_fcgi: debug] [pid 35359: tid 139812105266944] mod_proxy_fcgi.c (944): [client 66.249.78.16:53716] AH01076: url: fcgi: //127.0.0.1: 9000 / home / kepek / index.php / tag / 1 / h% C3% ADres proxyname: (null) proxyport: 0
[Пт, ноябрь 08, 01:19: 03.616067 2013] [proxy_fcgi: debug] [pid 35359: tid 139812105266944] mod_proxy_fcgi.c (954): [client 66.249.78.16:53716] AH01078: URL-адрес обслуживания //127.0.0.1:9000/ home / kepek / index.php / tag / 1 / h% C3% ADres [Пт, 08 ноя, 01:19: 03.616073 2013] [прокси: отладка] [pid 35359: tid 139812105266944] proxy_util.c (2020): AH00942: FCGI : установил соединение для () [Пт, 08 ноября, 01: 19: 03.616081 2013] [прокси: отладка] [pid 35359: tid 139812105266944] proxy_util.c (2072): [client 66.249.78.16:53716] AH00944: подключение //127.0.0.1:9000/ home / kepek / index.php / tag / 1 / h% C3% ADres до 127.0.0.1:9000 [Пт, ноя 08, 01: 19: 03.616131 2013] [прокси: отладка] [pid 35359: tid 139812105266944] proxy_util.c ( 2194): [клиент 66.249.78.16:53716] AH00947: подключен /home/kepek/index.php/tag/1/h%C3%ADres к 127.0.0.1:9000
[Пт, 08 ноя, 01:19: 03.783318 2013] [proxy: debug] [pid 35359: tid 139812105266944] proxy_util.c (2035): AH00943: FCGI: освободило соединение для ()
[Пт, ноябрь, 08, 01:19: 04.099220 2013] [authz_core: debug] [pid 35359: tid 139812199675648] mod_authz_core.c (802): [client 66.249.78.16:55790] AH01626: результат авторизации Требовать все предоставлено: предоставлено
[Пт, ноябрь 08, 01:19: 04.099243 2013] [authz_core: debug] [pid 35359: tid 139812199675648] mod_authz_core.c (802): [client 66.249.78.16:55790] AH01626: результат авторизации: предоставлено
[Пт, ноябрь 08, 01:19: 04.099261 2013] [core: info] [pid 35359: tid 139812199675648] [client 66.249.78.16:55790] AH00128: Файл не существует: / home / shop / en / facepaints / mehron-paradise - краски для лица
httpd.conf
ServerRoot "/usr/local/apache2"
Listen 80
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule filter_module modules/mod_filter.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule security2_module modules/mod_security2.so
<IfModule unixd_module>
user apache
group www-data
</IfModule>
ServerAdmin handle@domain.com
ServerName domain.com:80
<Directory />
AllowOverride all
</Directory>
DocumentRoot "/home"
<Directory "/home">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
<Files ".ht*">
Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel debug
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" common
</IfModule>
<IfModule alias_module>
Alias /php5.cgi /usr/local/bin/php-cgi
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
</IfModule>
<Directory "/usr/local/apache/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>
Include conf/extra/httpd-vhosts.conf
<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
AccessFileName .htaccess
Этот фрагмент кода в вашем httpd.conf
виноват:
<Directory "/home">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
В .htaccess
не будет загружен, если AllowOverride None
установлен. Его следует изменить на AllowOverride All
:
<Directory "/home">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Затем перезапустите службу Apache, и все должно быть в порядке.
А «Разрешить переопределение» относится к тому, как .htaccess
файл может переопределить настройки сервера Apache. Больше информации на эта страница.