I create an information page called "we are hiring", and I want to be accessed through http://mystore.com/we-are-hiring.
Supposed it should be done via seo keyword, but it doesn't work for me, anybody know how to do it?
Cheers, Ron
Make sure you have SEO keywords turned on in admin settings (i.e., System > Settings > Server tab > Use SEO URL's)
Make sure your webserver is Apache and mod_rewrite is installed and enabled.
Make sure you have renamed the default .htaccess.txt to .htaccess and that your webserver configuration allows htaccess override.
SEO keywords must be unique. Duplicate keywords will break the rewrite.
you will have to write the name of you page.
(in catalog -> information -> your page -> data-> SEO Keyword)
Related
The business has a requirement to always show the language in the URL for our CD sites. I did some research and set the LanguageEmbedding setting to always. This seems to work fine for non-default languages but not for English, which is the default language.
When I try to go to www.abc.com, shouldnt it change to www.abc.com/en ? Am I right to think this or is this how Sitecore will behave for default language where it won't show the language if its not an embedded links?
Thanks
When Sitecore determines your language via browser preference, cookie, URL slug, or query string, it will not redirect to that preferred URL structure with language slug.
You can either create a redirect module (i.e. if language context set, make correct URL and redirect) or write out <link langref=""> tags, which is an SEO best practice anyways.
OOTB that is the way that Sitecore works. When you have LanguageEmbedding="always" - the links should all be generated with the language embedded - including for en, so a link to the home page would be www.abc.com/en - but if you just visit the domain - www.abc.com - Sitecore then uses either the language cookie stored from your last visit, or the default language.
If you want the behavior to be that if you visit www.abc.com the user is always it would be better to set that up using an IIS Redirect or a rewrite .
We have a multisite SiteCore setup with 2 sites within the same .Net solution.
This works by setting the rootPath property on a Site Definition in web.config to limit the site to part of the SiteCore folder structure.
This works well apart from when pages are created with the same name as in the other site then it's serving content from the other site! We have inherited a fair bit of custom code in this solution form the other site so this may be the cause but dont know what Im looking for ...
Thanks
How are you referencing the sites? Do they each have their own host name? Do you have the "hostName" property set for the site node in the Site Defintion?
I will assume that you are not referring to them this way and instead, the sites are using the "virtualFolder" property. If both sites have the same default value of "/" for virtualFolder, attempting to get to either site will result in Sitecore rendering the first site that it matches on, which would be the site listed first.
Try putting the actual site name for "virtualFolder" and "physicalFolder" (e.g. "Site1" and "Site2", respectively). Then you can address your sites as http://yourserver.com/Site1 and http://yourserver.com/Site2. The "virtualFolder" will match first and render the correct site.
See Configuring Sites in the web.config File on SDN for additional information.
Hope this helps.
It turns out this is happening in this case because of a System alias that is redirecting for a subset of pages
I have a dedicated server with many different sub-folders/accounts. I have a test-installation for a new Joomla 2.5 site on one of these accounts/sub-folders that doesn't have a domain name associated with it yet. I have to access it by
http://(SERVER-IP)/~subfolder/
rather than
http://www.example.com/
Most of my link types are working smoothly (ie, "Single Article" links to the correct article alias, etc.) however when I use an External URL menu item type to link to an internal article alias, things go bad... Within the Menu Item options I put "/contact-us" in the Link field so that (in theory) I can link to
http://(SERVER-IP)/~subfolder/index.php/contact-us
however it is removing the subfolder, causing it to link to the apache root of the dedicated server instead, resulting in:
http://(SERVER-IP)/contact-us
I only have this issue when I use IP addresses instead of a domain name...
I have URL re-writing OFF, so it is not the .htaccess file causing the problems...is there an issue with the defined Absolute Path? Any ideas on how I can get this fixed so I can stop seeing 404-errors while in development? Thanks for any and all help pointing me in the right direction!
The beginning forward slash means start at document root, so it basically says to strip all "folders" down to the root domain (which on your dev system means just the IP address).
One option is to use the base tag to set up relative links for the external url menu type. You could add this to your template file's index.php just after the <head> declaration:
<base href="<?php echo JURI::root(); ?>" />
This can introduce a host of issues with relative links though, so you may want to weigh the issues with that here: Is it recommended to use the <base> html tag?
The second option would be to try it with index.php at the start, so make the url index.php/contact-us. I believe that this will be routed properly as an internal link.
This will cause an issue if you go live and turn on htaccess URL rewriting. I just checked and this will not have the index.php section removed, so that is an issue.
The third option (which takes more work but is probably recommended) is to stop linking to internal urls with external url menu items. Joomla tends to function best when you set up a menu item for your urls. (Much of the url routing is based around the menu item.)
Really the third option is that it may be easier to help you not use the External URL menu item than to fix the routing issue.
Is there a straightforward way to set up Django to operate on a directory or set of directories that will also serve other kinds of content?
Right now I have a webserver that is mostly running ColdFusion pages, but I'd like to start moving some sections over to Django. However, due to the existing directory structure it's not ideal to put all of the Django stuff in just one web path. Ideally I'd like to be able to keep using the original directory structure rather than having to use a lot of redirects.
Is there any way to make Django play nice with other things, or does it pretty much need its own root to be happy? The only other solution I can think of is carefully configuring the web server with a lot of rules that purposefully sidestep Django when necessary (for example, instructing it to manually handle anything with a file extension, or to ignore certain directories).
This would be on IIS, if it happened.
You can configure URLs in Django anyway you like. Have a look at the URL dispatcher. So say for instance your site www.example.com, you decide to have /wiki and /blog be developed using Django. You can configure IIS to redirect those urls to Django, while the rest of www.example.com/everythingelse is served by Coldfusion or whatever.
Even a mixed url scheme say /store/mycoldfusion-product-view and /store/django-product-view would be possible though this would require some amount of fancy redirect code depending on your setup.
It sounds as if you have some control over what is being served when. If that's the case, could you use a reverse proxy to segment your namespace? I do this with a lot of different projects; I use nginx, and tell it "these paths are for Wordpress, these paths are for Django, and these paths are for images and other static content."
That's an excellent way of making Django "play nice," as long as you have a disciplined approach to converting some of the paths to one or the other.
An alternative way to set this up would be to daisy chain:
Webserver -> django -> response middleware -> subprocess/pipe/httplib -> coldfusion.
The response middleware would pseudo code something like this:
if response.code in [list of ok responses]:
return
else:
call coldfusion
The advantage of this method would be that you can transition at whatever rate you want. The disadvantage is that it isn't a simple configuration, daisy chains are brittle by nature, and the daisy chain might break.
I'am new to Sitecore and had few questions on Multilingual sites in Sitecore
First I added the new language to the existing site and try to access the same with sc* parameter for testing purpose.
The site throws "Input string is in incorrect format" error. Though the content is not added for this it should be a blank page, not sure why it's throwing the error.
If, by chance, your Sitecore instance has multiple sites (i.e. you're using the SiteDefinition.config file to define separate site host headers) then you need to specify the language per-site, in the language attribute within the particular site node in SiteDefinition.config.
The value would be the language code, like "en-US" or "da-DK" for instance. For reference, see this (this references the web.config, but it applies to SiteDefinition.config as well).
besides the sc_lang query parameter, you can also give the language in the url.
for example /en leads to English homepage, /nl-NL to the dutch homepage. the first part of the url is the language.
so /en/page1.asp leads to the en version of the page1 item under your home.
The current language is stored in a cookie check the website#lang cookie.. Where website is the name of the website.
The default language is located in the web.config or include files
With the LinkManager in the web.config you can configer the appearance