Spotykam się z dosyć niecodziennym problemem. Magento z jakiegoś powodu nie chce uruchamiać strony jeżeli jej kod to "en". Jakikolwiek inny kod normalnie działa z tego samego podfolderu http://www.example.com/en/ w związku z czym wykluczam błędną konfigurację Apache.
MAGE_RUN_CODE ustawiam z poziomu index.php, ustawienie SetEnv z poziomu VHost w Apache działa tak samo.
Wystarczy, że zmienię kod strony w konfiguracji Magento, Apache i index.php na xx, oo, eng, gb lub jakikolwiek inny ciąg znaków — strona uruchamia się normalnie (z tej samej ścieżki http://www.example.com/en/). Na tej samej instalacji jest kilka innych stron, ale ich kody opierają się na kodach innych krajów – w związku z czym nie duplikują się. Próbowałem zamienić tamten website en na gb w miedzyczasie tworząc website en — gb działa, nowy en nie.
Myślałem o zepsutej bazie (środowisko testowe, więc trochę już przeżyło zmian i różnych konfiguracji), więc zainstalowałem Magento 1.8.1.0 od zera, stworzyłem identyczny zestaw stron, sklepów i widoków. Skonfigurowałem web, Apachem, mysql. Efekt – ten sam, strona z kodem "en" nie działa.
Czy ktoś kiedykolwiek spotkał się z podobnymi anomaliami? Jakieś pomysły co może być powodem? Z góry dzięki za wszelkie pomysły i sugestie.
/en/index.php (ważniejsza część):
Kod: Zaznacz cały
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'en';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'website';
Mage::run($mageRunCode, $mageRunType); ?>
/en/.htaccess (rewrite):
Kod: Zaznacz cały
## rewrite everything else to index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /en/
RewriteRule ^/en/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /en/index.php [L]
</IfModule>
Pozdrawiam Serdecznie
versedi
P.S. Magento 1.8.1.0, Ubuntu 12.04 x64,
Kod: Zaznacz cały
Server version: Apache/2.2.22 (Ubuntu)
Server built: Mar 5 2015 18:10:09
Kod: Zaznacz cały
root@example:/home/vagrant# php -v
PHP 5.4.39-1+deb.sury.org~precise+2 (cli) (built: Mar 24 2015 10:59:26)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Kod: Zaznacz cały
root@example:/home/vagrant# apache2ctl -M
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Thu Apr 09 20:21:14 2015] [warn] NameVirtualHost *:80 has no VirtualHosts
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
headers_module (shared)
mime_module (shared)
negotiation_module (shared)
php5_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)
Syntax OK
root@example:/home/vagrant#