2012-11-25 3 views
8

Ich habe dafür gesucht, kann aber nur über das Admin-Panel Antworten finden (was ich nicht erreichen kann).Magento - Wie man Base URL/Domain manuell ändert?

Ich habe eine Live-Magento-Installation, an der ich eine neue Entwicklung machen werde.

So eine Entwicklung vor Ort auf einer Sub-Domain der wichtigsten Website URL (http://test.mydomain.com) Ich bin Einrichtung

Das Problem ist, ich habe, dass irgendwo in der Mage :: run() bootstrapper, die Site wird auf die www Subdomain umgeleitet.

Ich habe die folgenden zwei Datensätze in der DB geändert:

mysql> select * from core_config_data where value like '%mydomain.com%'; 
| config_id | scope | scope_id | path     | value       | 
+-----------+---------+----------+------------------------+-------------------------------+ 
|   2 | default |  0 | web/unsecure/base_url | http://test.mydomain.com/  | 
|   3 | default |  0 | web/secure/base_url | http://test.mydomain.com/  | 
  • ich auch, dass die Konfiguration auf das neue dev DB zeigt ‚local.xml‘ gesichert haben.
  • Ich habe gelöscht auch die gesamte/var/cache
  • ich auch alle .htaccess-Sub-Domain leitet
  • entfernt haben
  • ich Apache auch neu gestartet haben.

Kein Glück, immer noch umleiten.

Was fehlt mir?

+0

+1 Wie du erwähnt hast, wird es anderen nützen :) –

Antwort

14

Es stellte sich also heraus, dass das Problem darin lag, dass Apache keine Schreibberechtigungen für das Verzeichnis WEBROOT/var hatte. Daher verwendete Magento seinen Cache aus dem Verzeichnis /tmp des Systems. (Dank für die Spitze, Fiasco Labs!)

Falls jemand hier von Google bekommt, werde ich die Schritte wiederholen ...

Wie manuell ändern Domain in Magento

  1. aktualisieren Sie Ihre core_config_data Tabelle werden die beiden Datensätze für web/unsecure/base_url und web/secure/base_url
  2. löschen Sie die Inhalte von WEBROOT/var/cache
  3. bearbeiten
  4. Update/bearbeiten jede .htaccess Domain leitet Sie
  5. Restart Apache hinzugefügt
  6. sicher machen kann Apache Schreibberechtigungen für WEBROOT/var
  7. hat Wenn Sie einen neuen DB erstellt, stellen Sie sicher, dass die WEBROOT/app/etc/local.xml es zeigt.
  8. Wenn Sie Chrome verwenden, löschen Sie den Cache Ihres Browsers! (Chrome Caches 301s)

Das ist es. Prost.

+1

Grundsätzlich was ich zweimal pro Woche mache, um meinen Dev-Server mit dem Live-Server zu synchronisieren.Wenn Sie ein CDN für die Image-Bereitstellung verwenden oder Module, die separate Schlüssel für dev-Domänen benötigen, können Sie die MySQL-Updates für diese und die base_url-Einträge über eine .sql-Datei automatisieren. Stellen Sie außerdem beim Wechseln zu einem neuen Server sicher, dass die Berechtigungen für den var/Ordner ordnungsgemäß festgelegt sind. Magento schreibt seinen Cache in den Ordner system/tmp, wenn er nicht in der Lage ist, var/zu verwenden, und dies verursacht Kummer, da Magento die zwischengespeicherten Informationen in/tmp verwendet und zur alten Site umleitet. –

+0

Aha, das muss sein was es damals war! Als ich die neue Site zum ersten Mal erstellte, habe ich die Berechtigungen für das Verzeichnis ./var nicht richtig festgelegt. Es muss von/tmp (welches in der Vergangenheit benutzt wurde) gegriffen haben. Beim zweiten Mal habe ich aufgrund der Faulheit (da es sich um eine Dev-Seite handelt) ein 'chown -R www-data: my_username ./*' auf der ganzen Seite gemacht, weshalb es wahrscheinlich funktioniert hat! Danke für diesen zusätzlichen Tipp !! –

+1

Es ist ein Stein, der viele Standortwechsel aufhält. Und ist eines jener Dinge, die sich auf mysteriöse Weise selbst heilen, wenn ein Serverneustart gemacht wird und das/tmp-Verzeichnis gelöscht wird, nur um etwas im Cache zu speichern und wieder mysteriöse Probleme zu verursachen, bei denen sich die Dinge nicht ändern, selbst wenn die var/Cache-Ordner wird manuell geleert. Jedes Mal, wenn du hörst, ** "habe ich (template/layout/config) Änderungen vorgenommen, den Cache geleert und nichts ist passiert!" **, denke sofort ** "muss die Verzeichnisberechtigungen prüfen, damit der Webserver in den var/Ordner schreiben kann und Unterordner "**. –

0

Versuchen Sie "FLUSHALL" Befehl auf Redis-CLI zu verwenden, vielleicht haben Sie eine zwischengespeicherte Datenbank.

Es funktionierte für mich.

Verwandte Themen