Htaccess PHP重定向。无法这样做.. 404找不到错误

时间:2010-01-27 12:48:02

标签: http-status-code-404 permalinks

我正在一个问答网站上工作,感谢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

1 个答案:

答案 0 :(得分:0)

你想做两件事:

  1. 永久性地将旧永久链接重定向到新的永久链接和
  2. 让新的固定链接正常工作。
  3. 要重定向旧永久链接,请添加以下内容:

    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}