我正在一个问答网站上工作,感谢Alex,我得到了我想在网站上提供的永久链接(PHP Permalinks.. how to change?)。
这是格式..
原文: domainname.com/cat/how-are-you-|162
新永久链接: domainname.com/cat/how-are-you-|162.html
新的永久链接将无法正常工作,即它不会加载页面并显示404 Not found错误。我对rewriterules的了解非常基础,我确实尝试了一些功能,但令我沮丧的是,它们根本不起作用。
如何使用htaccess文件将原始文件重定向到新的永久链接?
谢谢。
编辑1: @Ignacio - 目前,我还没有在服务器上实现它,因为我不想丢失流量,但我可以再次尝试并且会更新结果
@Pekka - 这是.htaccess文件http://pastebin.com/m23c7d2b6
答案 0 :(得分:0)
你想做两件事:
要重定向旧永久链接,请添加以下内容:
RewriteCond %{REQUEST_FILENAME} !.*\.html$ RewriteRule ^(.+/.+)$ $1.html [L,R=301]
要使新固定链接起作用,请更改以下行:
RewriteRule ^([^/.]+)/([^/.]*)?$ view.php?title=$1&id=$2&%{QUERY_STRING}
到此:
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/.]+)/([^/.]*)\.html?$ view.php?title=$1&id=$2&%{QUERY_STRING}