我正在研究php
实际上我需要搜索引擎搜索查询脚本的SEO网址我写在名为newtheme
(文件夹名称)的文件夹中。当我尝试做SEO搜索时,工作搜索时没有找到工作。请检查我的代码并纠正我在哪里做错了。
在我的htaccess中
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{QUERY_STRING} ^searchword=([^&]+)$
RewriteRule ^results.php$ /newtheme/%1/? [L,R=301]
在我的results.php中
if($_GET['searchword'];
{
$q= mysql_real_escape_string($_GET['searchword']);
$sql=mysql_query("select * from table where keyword='$q'");
$row=mysql_fetch_array($sql);
echo $row['title'];
}
?>
htaccess文件作为newtheme放在我的文件夹里面。脚本文件夹localhost / newtheme / .htaccess
答案 0 :(得分:0)
作为绝对最小值,请在将其提供给MySQL查询之前转义搜索词。
$q = mysql_real_escape_string($_GET['searchword']);
如果我正确理解您的实现,那么您正尝试SEF重写针对您的results.php文件的查询,该文件位于newtheme目录中,尝试类似这样的事情
RewriteRule ^searchword/([\ A-Za-z0-9-_,]+)?$ /newtheme/results.php?searchword=$1 [NC,L]
答案 1 :(得分:0)
您的/newtheme/.htaccess
文件中需要这两条规则:
RewriteEngine On
RewriteBase /newtheme/
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+newtheme/results\.php\?searchword=([^\s&]+) [NC]
RewriteRule ^ search/%1? [R=302,L]
# internal forward from pretty URL to actual one
RewriteRule ^search/([^/.]+)/?$ results.php?searchword=$1 [L,QSA,NC]