直到现在我总是使用htaccess来重写URL,以便将非SEF网址添加到SEF网址。
今天我面临着一个新的挑战,老实说,对正则表达不信任,我真的不知道如何实现。
我的情况是我的网站上的论坛已经以下列形式更新:
上一个链接:www.domain.com/forum3/topic/name-of-topic/post/7548
新链接:forum.domain.com/Topic-name-of-topic /
如何拦截/发布/ 37764字符串并告诉htaccess不考虑它?
如何指示服务器构建那种url而不是provious。我很困惑。
有什么建议吗?非常感谢你。有没有我可以阅读的资源来帮助我更好地理解这个案例?
再次感谢。
修改
弗洛里安的回答是正确的。我刚刚添加了一些mod以更好地适应它。
RewriteEngine On
#RewriteBase /
RewriteRule ^forum3/topic/([^/]+)/post/[0-9]+$ http://forum.domanin.com/Topic-$1/ [L,R=301]
RewriteRule ^forum3/topic/([^/]+)-[0-9]+$ http://forum.domanin.com/Topic-$1/ [L,R=301]
答案 0 :(得分:3)
您可以尝试以下代码:
RewriteEngine On
RewriteBase /
RewriteRule ^forum3/topic/([^/]+)/post/[0-9]+$ /Topic-$1/ [L,R=301]
/([^/]+)/
表示我们要捕获一个包含一个或多个字符的字符串,/
除了/
之前和之后。
此链接可帮助您测试.htaccess
个文件: