So I've changed the URL on a clients joomla site and it doesnt seem to be rendering properly anymore. The site was on a public domain, but I moved the dns to another host. I can still access the site through a host generated URL but like I said, its not rendering as expected.
Any pointers much appreciated!
Try clearing your cache and Joomla's own cache
Make sure that the $live_site variable is set to the new site if it was set to the old domain
Make sure that the paths to the tmp and the logs directories are correct in the configuration.php file
Make sure that your CSS files do not absolutely reference images/other CSS files on the old domain
Make sure that your .htaccess file doesn't include any absolute references to the old domain
Related
I am using shared hosing for Codeigniter application for deployment.
How can i run staging url on live server?
1) domain.com (Working)
2) domain.com/staging/ (Not working, showing 404 error)
I created staging folder under public_html directory, now put All CI code in staging folder, and tried to run the application with URL domain.com/staging/ but it redirect on domain.com/404
I expect to run domain.com for users and domain.com/staging for development. (Staging URL i will use for development and after that i will place the same code for live URL.)
This is most easily done by using a subdomain for the staging version, i.e. staging.doman.com. The folder where you put the CI files isn't super important as the subdomain will be set to use the directory you choose.
You will either need to have complete control over the server or have a service provider that allows you to set up subdomains.
- Expanded Answer -
If you cannot set up a subdomain then your next best option is to use the advice in the documentation on Managing you Applications. It isn't required to use the file structure shown there. In your case try the following.
Create a folder on the same level as application named staging.
Into that folder copy all the folders and files normally found in /application.
Add all application folders and files required by your site. The files in these folders are those that make up the application you are staging.
Make a copy of index.php (the file at the root of the public folder, i.e. domain.com/index.php) and name it staging.php. Both index.php and staging.php will be in the same folder.
Edit staging.php and change the value of $application_folder to be the absolute path to the staging folder. For example:
$application_folder = '/path/to/domain.com/public_folder/staging';
The path above is an example. You must replace it with the actual path in your server. If you have no idea what the full and absolute path is you can use
$application_folder = dirname(__FILE__).'/staging';
Browse to the URL domain.com/staging.php and you should get your default controller's output. To test that you are actually seeing the staging version of the page temporarily change something in the view file so there can be no doubt.
You will go to other controllers by using the URL domain.com/staging.php/other_controller.
Change the value of $config['index_page'] in /staging/config/config.php to staging.php, e.g.
$config['index_page'] = 'staging.php';
Without the above change redirect() and many other "helper" functions will not work correctly.
(Optional?) You can probably edit the main .htaccess and add rewrite rules for staging.php the same way it is done for index.php. But I will leave that as an exercise for you. (Or for another SO question.)
A final word. It might be necessary to make other configuration changes to accommodate the revised file structure. I tested the answer here but did not go beyond the most basic task of browsing to controllers. Most likely config values for sessions, cookies, and many others will need to be adjusted for the staged version to work correctly. Check out the documentation on Handling Multiple Environments for guidance on making this less painful.
I have recently moved my joomla site to another hosting. But now the site doesn't work. Shows blank page. Though the administrator's page (/administrator) is shown and works correctly. Have any ideas for what reason it can be?
Remove the .htaccess altogether
clear the cache and tmp folders
make sure db name, login and password are correct in the configuration.php
make sure the server path (tmp and logs folders) are correct
if you still get an empty page, make sure you're looking at the right log file. Turn php error logging on or display them.
post some more details here...
I have a Joomla installation set up on my local server. I have duplicated with a new name the top-level Joomla folder so that all the information I have already put into the database can be edited slightly, whilst still keeping the original intact.
I have copied the database files over to a new database and made the relevant changes in Joomla admin. I've opened up configuration.php and changed all the file paths to the new one.
However, now I'm getting a server error when trying to access the web page and admin area. Are there any other files I need to edit with the new path to enable it to work under the new parent folder?
You shouldn't have to edit any files with any paths to make it work other than the tmp and log folders and the root folder line in htaccess if you have SEF URLs turned on. Turn off SEF URLs and see if the site starts working, if it does, then you need to edit htaccess. Since your admin is not working, my guess is that you messed up your configuration.php. Copy over the original unedited version to the copy site, it should work. You can then adjust the tmp and log paths within the admin in the global configuration.
I've just moved a Joomla 1.7 site to a new server.
Administration back-end works fine. Configuration.php seems fine. Get "The requested document was not found on this server." for every page other than Home.
Must be talking to the database OK or I'd get an error. Could this be a problem with the PHP?
Thanks,
Andy
Did you clear joomla cache ?
Disable page and/or module caching.
Disable any plugin that optimizes "loading speed".
Try removing SEF URLs (Joomla! and any 3rd party extension).
If you are using a custom .htacess, then use an unmodified joomla one.
Disable some system plugins.
Disable modules in the homepage.
Have you tried using another template (site) ?
You have Seach Engine Friendly URLs enabled in /administrator/ area's global configuration settings. You have probably enabled the option to use the mod_rewrite function which removes the /index.php/ portion of the urls.
It is a requirement of this mode that you have the .htaccess file in place in the root of your site. You probably had this correctly configured on your development server but perhaps forgot to move the file across when you went live. Some FTP programs hide dot files (files starting with a leading dot in the filename) so depending upon how you transferred the files (I'm guessing manually with FTP rather than Akeeba backup or similar) the file may have been missed. Look through your FTP client's options/preferences for an option to show/hide hidden files.
Failing this - the file could be correctly in place - but if you were developing in a sub-folder on your development server you would have set the RewriteBase line to your /sub-folder/
RewriteBase /sub-folder/
Now you've moved to the live server this line could be incorrect. If this is the case, edit the file to Read
RewriteBase /
Chances are it is one or other of these issues - missing .htaccess file or incorrect RewriteBase. A third and nowadays somewhat more unlikely option is that your server doesn't have mod_rewrite enabled - but I think that would result in server 500 errors.
Check whether you are using any modules that is calling database and you have not changed DB details in that module after migration. If admin panel is working fine then I think problem with some modules that are used in front-end. You can do debugging by disabling few suspected modules and check whether your site works fine or not. Else provide some more information about your site so that I can check further.
I have installed drupal on my localmachine(ubuntu, Xampp), at localhost.
Path and Pathauto modules are active (a module to produce friendly URLs).
Migrating/Pushing my local install to the www.mysite.com
Exported SQL from phpMyadmin(localhost).
Made a new DB at live site (I think a different name from the localhost-DB does not create any problem).
Imported SQL into phpMyadmin, (mysite).
Changed the username-password-DBname in the sites/default/settings.php in drupal folder.
Now, uploaded the drupal folder and all its content into the /www of the "mysite.com".
Visited the URL www.mysite.com, site looks same as on my localhost, good.
But --
I made a tryPage on my
localhost/drupal, for which
pathauto(cleanURL) recommended the
URL "content/trypage" which i
explicitly changed to "trypage", so
that absolute link to the page is
"localhost/drupal/trypage" and not
"localhost/drupal/content/trypage".
Now When i click the trypage link on the mysite,
it open's it in-reference to my
localhost, my local-pages are
opened. That is, when I click
newpage on the mysite.com, the URL
requested is
"localhost/drupal/newpage" and not
"www.mysite.com/newpage".
Do you think it is coz of the SEO
friendly URL generation issue, the
Pathauto module.
Anyways how do i solve this
If I make my "localhost/drupal" to open from same URL (mysite.com), i dont know how
to do that exactly, i think by configuring
vhosts. But if i do that, then the URL
www.mysite.com where will it take
me, local or online.
Now If i add new modules, new content, new pages, and new books on my localhost site, and wish to update mysite.com, do i have to redo SQL export/import everytime, and use a software like rsync/sitecopy(), to upload the folders on the live site. How do i solve this.
This is an old question, but here are some thoughts.
Links generated by Drupal (e.g. menu links, links within the admin area, breadcrumbs, etc.) should always use the domain of the currently requested site. URLs within Drupal are handled by the "router", which stores all paths within the database in a relative format.
That said, unless you're specifying the site URL in settings.php (the $base_url variable) or are linking to pages using fully qualified URLs, this shouldn't be a problem. Linking to different nodes from other nodes can be handled with a variety of modules. Pathologic is a good choice, or Path Filter.
Moving Drupal sites from development to staging to production is still a common problem for which there is no definitive solution. This question was asked previously here.