URL正确重定向但显示未找到的对象

时间:2012-02-23 09:44:51

标签: .htaccess mod-rewrite

我已经关注了这个帖子。 Question mark in the end of RewriteRule

我的要求也一样。 我的页面正确地重定向(301),但它显示OBJECT NOT FOUND

我的实际网址

http://mydomain.com/iphone_advanced_search_result.php?keywords=test

我想要的网址

http://mydomain.com/search/test

我的HTACCESS代码

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^keywords=(.*)$
RewriteRule ^iphone_advanced_search_result\.php$ search/%1? [R=301,L]`

为什么我收到此错误?请帮助!

2 个答案:

答案 0 :(得分:0)

您匹配的网址类似于'/iphone_advanced_search_result.php',但您的实际网址不包含'.php',因此不匹配。

从您的规则中删除'.php'检查,它应该可以正常工作。

答案 1 :(得分:0)

如果用户使用您想要的网址

http://mydomain.com/search/test

,您的处理脚本是

http://mydomain.com/iphone_advanced_search_result.php?keywords=test

你的改写应该如下所示:

RewriteEngine on
RewriteBase /
RewriteRule ^search/(.+)$ iphone_advanced_search_result.php?keywords=$1 [L]