23056

tt_news and RealURL: shorten URL of news article

Question:

Currently the URL for a news article looks like

www.domain.com/path/to/page/news/news-detail/article/articlename

Is there a way to shorten this URL? E.g. missing out article or news-detail?

In the RealUrl-Configuration there is the array article but I don't know if I can change this for example to news-detail ...

Do you have some ideas?

I'm using Typo3 4.5.5, realurl 1.11.2 and tt_news 3.0.1.

Answer1:

If you want to exclude the keywords indicating a new part of the rewritten url, use fixedPostVars:

'fixedPostVars' => array( '123' =>array( array( 'GETvar' => 'tx_ttnews[tt_news]', 'lookUpTable' => array( 'table' => 'tt_news', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), ),

This will create a url like domain.com/article/your-article-title, presuming you have the following site structure:

root |- news (pid xy) |- article (pid 123)

You can also have the list and detail view on the same page which would make even cleaner urls (domain.com/news/your-article-title):

root |- news (pid 123, configured for list and detail)

Answer2:

One way is to exclude some pages to be shown in the URL path ?

www.domain.com/news-detail/article/articlename

You could also use another key as identifier (for example, Id instead of the news title). It will be less human-readable, but much shorten.

www.domain.com/news-detail/article/articleid

Recommend

  • CVS command to get the current revision number of file
  • Qunit unit test error , on jQuery ajax
  • How can I join lazy translation in Django?
  • How to validate a url with lots of querystrings
  • I got jquery errors randomly
  • Cookies getting ignored in Apache httpclient 4.4
  • ASP.NET MVC C#: Object reference errors when going to view record details
  • How to get database credentials into a c# application without committing it to source code?
  • Reduce Mono runtime size
  • Easy Way to Get Averages Based on Names in List
  • How can I include the Ivy dependency and none of its dependencies?
  • Mongoose TypeError: Cannot use 'in' operator to search for '_id' in
  • jersey/tomcat Description The origin server did not find a current representation for the target res
  • Unable to connect to OnVif enabled camera using C#
  • How to create two column output from a single column
  • .NET video play library which allows to change the playback rate?
  • Getting different value with placeholder over CPU/GPU
  • msbuild create itemgroup from property group
  • why xml file does not aligned properly after append the string in beginning and end of the file usin
  • htaccess add www if not subdomain, if subdomain remove www
  • JSON response opens as a file, but I can't access it with JavaScript
  • Accessing IRQ description array within a module and displaying action names
  • How to delete a row from a dynamic generate table using jquery?
  • Python: how to group similar lists together in a list of lists?
  • Rails 2: use form_for to build a form covering multiple objects of the same class
  • Codeigniter doesn't let me update entry, because some fields must be unique
  • Free memory of cv::Mat loaded using FileStorage API
  • Trying to get generic when generic is not available
  • Getting Messege Twice Using IMvxMessenger
  • Change div Background jquery
  • How to get Windows thread pool to call class member function?
  • Bitwise OR returns boolean when one of operands is nil
  • XCode 8, some methods disappeared ? ex: layoutAttributesClass() -> AnyClass
  • Easiest way to encapsulate a HTML5 webpage into an android app?
  • Busy indicator not showing up in wpf window [duplicate]
  • costura.fody for a dll that references another dll
  • Observable and ngFor in Angular 2
  • How to Embed XSL into XML
  • UserPrincipal.Current returns apppool on IIS
  • Conditional In-Line CSS for IE and Others?