搜索结果 mod 用请求 uri 重写
Search results mod rewrite with request uri
我正在尝试为我的网站创建搜索引擎友好的搜索表单 urls。
我网站的每个页面上都有以下表单代码:
<form class="form" method="get" id="searchform" action="searchrd">
搜索
这也是我的 htaccess 文件:`
RewriteCond %{REQUEST_URI} searchrd$
RewriteCond %{QUERY_STRING} ^query=([^&]+)$
RewriteRule ^([^&]+)$ /results/%1? [R=301,L]
RewriteRule ^/?results/([^&]+)?$ results.php?query= [NC]
我的问题如下:
例如,当我转到主页并使用 {search-term1} 输入搜索时,它会让我转到 http:// websitename.com/results/{search-term1}
这一步没问题
但是如果我尝试在结果页面上使用 {search-term2} 进行搜索,我会得到这个 url http:// websitename.com/results/{search-term1}?query={搜索词2}
我的问题是,即使我在结果页面上进行搜索,我如何才能将此 url http://websitename.com/results/{search-term2} 用于第二次搜索。我已经搜索了几个小时并修改了标志、规则和条件,但没有任何东西给我想要的东西。
在表单操作中使用绝对路径:
<form class="form" method="get" id="searchform" action="/searchrd">
然后像这样重构你的规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^query=([^&]+)$ [NC]
RewriteRule ^searchrd/?$ /results/%1? [R=301,L,NC,NE]
RewriteRule ^/?results/([^&]+)?$ results.php?query= [NC,L,QSA]
我正在尝试为我的网站创建搜索引擎友好的搜索表单 urls。
我网站的每个页面上都有以下表单代码:
<form class="form" method="get" id="searchform" action="searchrd">
搜索
这也是我的 htaccess 文件:`
RewriteCond %{REQUEST_URI} searchrd$
RewriteCond %{QUERY_STRING} ^query=([^&]+)$
RewriteRule ^([^&]+)$ /results/%1? [R=301,L]
RewriteRule ^/?results/([^&]+)?$ results.php?query= [NC]
我的问题如下:
例如,当我转到主页并使用 {search-term1} 输入搜索时,它会让我转到 http:// websitename.com/results/{search-term1}
这一步没问题
但是如果我尝试在结果页面上使用 {search-term2} 进行搜索,我会得到这个 url http:// websitename.com/results/{search-term1}?query={搜索词2}
我的问题是,即使我在结果页面上进行搜索,我如何才能将此 url http://websitename.com/results/{search-term2} 用于第二次搜索。我已经搜索了几个小时并修改了标志、规则和条件,但没有任何东西给我想要的东西。
在表单操作中使用绝对路径:
<form class="form" method="get" id="searchform" action="/searchrd">
然后像这样重构你的规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^query=([^&]+)$ [NC]
RewriteRule ^searchrd/?$ /results/%1? [R=301,L,NC,NE]
RewriteRule ^/?results/([^&]+)?$ results.php?query= [NC,L,QSA]