2012-10-01 41 views
0

我在Ubuntu 10.4上使用apache2 + tomcat。我有web应用监听8080如何重定向url?

试图domain.com/category/post-name.html 重定向到新的URL>

domain.com/newcategory/ Tomcat服务器上运行博客/类别/后名

什么是最好的方式来实现这一目标?

到目前为止,我...

RewriteCond %{REQUEST_URI} ^/[a-zA-z0-9]+/[a-zA-z0-9]+/(.*)?\.html$ 
RewriteRule ^/[a-zA-z0-9]+/[a-zA-z0-9]+/(.*)?\.html$ http://www.domain.com/newcategory/blogs/$1 [R=301,NC,L] 
+0

【如何隐藏.html扩展与Apache的mod_rewrite(HTTP:// stackoverf low.com/questions/1992183/how-to-hide-the-html-extension-with-apache-mod-rewrite),[如何从网站地址删除文件扩展名?](http://stackoverflow.com/questions/6534904/how-to-remove-file-extension-from-website-address-sample-photos-attached),[使用.htaccess删除.php扩展名](http://stackoverflow.com/questions/4026021/remove- php-extension-with-htaccess),还有几十个。 –

+0

好,谢谢你的链接。我检查了他们。但是,我不仅试图摆脱“.html”部分 - 我需要正确地重定向超过20,000个帖子上面的url重定向,因为它会做的伎俩,但它不工作。所以,我想弄清楚我是否缺少一些东西。 – bay

回答

0

它看起来像后名称延续到重定向的URL,也是如此的,但newcategory /博客部分将不得不进行硬编码,因为没有什么拉,从旧的URL:

RewriteCond %{REQUEST_URI} !^/newcategory/blogs 
RewriteRule ^/?([^/]+)/([^/]+)\.html$ http://www.domain.com/newcategory/blogs/$1/$2 [L,R=301]