Kadir
(Kadir BASOL)
July 9, 2011, 1:26pm
1
Hi , i ve written some vaadin application works on this path on my liferay glassfish:
http://localhost:8080/web/guest/test
I want my vaadin portlet to work on all sub directories too , like ;
http://localhost:8080/web/guest/test/keyword
http://localhost:8080/web/guest/test/some-keyword
So when google indexes my page , my all documents get indexed better.
Because of title and url path.
But when i try ;
The requested resource was not found.
http://localhost:8080/web/guest/test/keyword
How can i make all subdirectories also direct to my portlet?
Its important for SEO please someone can help little?
Thats really what i want :
http://demo.vaadin.com/book-examples/book/
We are trying to make book that works on international language support.
When i click on tree , it goes ajax query and show content on right side.
How did they do url change?
When i click on some tree , its sending ajax query but url path also changes :
http://demo.vaadin.com/book-examples/book/#application.child-windows.basic
But stays on same app.
How did you do this?
Jan21
(Jan Richter)
July 10, 2011, 10:44am
2
Put a Apache Webserver with redirect rules in front to archieve this.
www.mywebsite.com/some/keyword1 → [Internal-IP]
:8080/app1
www.mywebsite.com/some/keyword2 → [Internal-IP]
:8080/app1
…
Its generally not a good idea to allow direct acces to your servlet container (tomcat, jetty, …) from the internet. Thats why all servlet containers are shipped with default port > 1000 (most 8080).
Henri2
(Henri Sara)
July 10, 2011, 11:10am
3
See
the book chapter
.
You can also search for related posts on the forum, or if you are a Pro Account subscriber, there is a
short knowledge base entry
about URIFragmentUtility and
a longer one about SEO
that also has some background information links.
Kadir
(Kadir BASOL)
July 11, 2011, 12:01am
4
I’m using Liferay ,
i ve seen on documentation , there is something named ,
Friendly URL Mapper ,
But i ve still problem on liferay.
My codes is shown below on liferay-portlet.xml :
I’ve added :
com.test.SearchFriendlyURLMapper
this line and finally:
<portlet>
<portlet-name>tocpanel</portlet-name>
<icon>/icon.png</icon>
<friendly-url-mapper-class>com.test.SearchFriendlyURLMapper</friendly-url-mapper-class>
<instanceable>false</instanceable>
<header-portlet-css>/css/portlet.css</header-portlet-css>
<footer-portlet-javascript>
/js/javascript.js
</footer-portlet-javascript>
<css-class-wrapper>tocpanel-portlet</css-class-wrapper>
</portlet>
and java side:
package com.test;
import java.util.Map;
import javax.portlet.PortletMode;
import javax.portlet.WindowState;
import com.liferay.portal.kernel.portlet.BaseFriendlyURLMapper;
import com.liferay.portal.kernel.portlet.LiferayPortletURL;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.util.PortletKeys;
public class SearchFriendlyURLMapper extends BaseFriendlyURLMapper {
private static final String _MAPPING = “journal”;
private static final String _PORTLET_ID = PortletKeys.JOURNAL_CONTENT;
@Override
public String buildPath(LiferayPortletURL path) {
return "/web/guest/testxxx";
}
@Override
public void populateParams(String friendlyURLPath, Map<String, String[]> params,Map<String, Object> arg2) {
System.out.println("Path Now:"+friendlyURLPath);
String[] items = friendlyURLPath.split("/");
}
@Override
public boolean isCheckMappingWithPrefix() {
return true;
}
@Override
public String getMapping() {
return _MAPPING;
}
}
But this code is making infinite loop.
My same page always start to refresh all the time and cant stop.
Whats wrong here? Someone know liferay solution here?