Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从_getquery创建SEO友好的URL_Php_.htaccess_Url_Url Rewriting_Seo - Fatal编程技术网

Php 从_getquery创建SEO友好的URL

Php 从_getquery创建SEO友好的URL,php,.htaccess,url,url-rewriting,seo,Php,.htaccess,Url,Url Rewriting,Seo,我有一个使用GET请求的搜索表单。当我点击回车键时,url通常不支持SEO,有没有一种方法可以让它在输入时显示SEO友好的url 例如 获取请求 搜索引擎优化网址应该是 我已经创建了一个规则 RewriteRule ^search/(\w+) index.php?a=search&query=$1 在我的.htaccess中,当我在地址栏中手动键入SEO Url时,它会起作用。因此,我想这只是确保当我在搜索字段中按enter键时,它会加载SEO Url而不是其他Url的问题。您可以在中

我有一个使用GET请求的搜索表单。当我点击回车键时,url通常不支持SEO,有没有一种方法可以让它在输入时显示SEO友好的url

例如

获取请求
搜索引擎优化网址应该是

我已经创建了一个规则

RewriteRule ^search/(\w+) index.php?a=search&query=$1

在我的.htaccess中,当我在地址栏中手动键入SEO Url时,它会起作用。因此,我想这只是确保当我在搜索字段中按enter键时,它会加载SEO Url而不是其他Url的问题。

您可以在
中使用它。htaccess

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /?a=$1&query=$2 [L]
这将为您留下URL:


http://someurl.com/search/what+您正在查找吗?您可以在您的
中使用它。htaccess

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /?a=$1&query=$2 [L]
这将为您留下URL:


http://someurl.com/search/what+如果+您+正在查找+

您必须将原始uri重定向到新uri,请在现有规则之前添加以下内容:

RewriteEngine on
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?a=search&query=(.+)\sHTTP [NC]
RewriteRule ^ /search/%1? [NE,L,R]

您必须将原始uri重定向到新uri,在现有规则之前添加以下内容:

RewriteEngine on
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?a=search&query=(.+)\sHTTP [NC]
RewriteRule ^ /search/%1? [NE,L,R]
我在路上这样做:)

这是搜索表单

  <form method="post">
     <input type="text" name="search" placeholder="search"/>
  </form>
我在路上这样做:)

这是搜索表单

  <form method="post">
     <input type="text" name="search" placeholder="search"/>
  </form>


你必须使用Javascript来构造你想要的URL,并以这种方式“提交”你的搜索表单,或者你从服务器重定向到你想要的URL;这比将查询添加到URL更“正确”。你到底为什么要对搜索结果页面进行SEO?搜索引擎可能会不遗余力地对搜索结果页面进行索引/排名。每次你访问它们时,它们都包含不同的内容,所以它们对搜索引擎来说是无用的。类似于
../search?query=abc
的东西就可以了。@SverriM.Olsen有道理!但是,如果我想与某人共享搜索链接,所有这些字符串都会破坏SEO友好URL的目的。SEO与链接共享几乎没有关系。搜索结果页面将根据网站上的内容而变化,因此共享它可能不是很有用。您通常会共享到感兴趣内容的直接链接。当谈到URL时,SEO是关于,所以搜索引擎可以更好地依赖它们。对,但这不是一个搜索页面结果。这只是根据关键字从数据库中提取数据。所以我想说书签一个关键字,例如,这样当我执行搜索时,我就不必再次键入关键字,只需粘贴链接,我就可以得到结果。你必须使用Javascript来构建你想要的URL,并以这种方式“提交”你的搜索表单,或者从服务器重定向到所需的URL;这比将查询添加到URL更“正确”。你到底为什么要对搜索结果页面进行SEO?搜索引擎可能会不遗余力地对搜索结果页面进行索引/排名。每次你访问它们时,它们都包含不同的内容,所以它们对搜索引擎来说是无用的。类似于
../search?query=abc
的东西就可以了。@SverriM.Olsen有道理!但是,如果我想与某人共享搜索链接,所有这些字符串都会破坏SEO友好URL的目的。SEO与链接共享几乎没有关系。搜索结果页面将根据网站上的内容而变化,因此共享它可能不是很有用。您通常会共享到感兴趣内容的直接链接。当谈到URL时,SEO是关于,所以搜索引擎可以更好地依赖它们。对,但这不是一个搜索页面结果。这只是根据关键字从数据库中提取数据。因此,我想说书签关键字,例如,这样当我执行搜索时,我就不必再次键入关键字,只要粘贴链接,我就会得到结果。thanxx会根据请求更改url,但我无法选择变量。就像$a和$q变量一样。还有一种方法可以在本地使用吗?除非我上传到服务器上,否则我无法完成。对不起,你所说的
是什么意思?我不能选择变量
?就像$a和$query变量一样。如何检索所搜索的内容。它只是更改了URL,但无法检索变量。您如何检索Get variables?哦,对不起,我没有看到“在之前添加以下内容”我只是删除了原始内容并粘贴了您的。现在可以了。令人惊叹的。Thanxxxthanxx根据请求更改url,但我无法选择变量。就像$a和$q变量一样。还有一种方法可以在本地使用吗?除非我上传到服务器上,否则我无法完成。对不起,你所说的
是什么意思?我不能选择变量
?就像$a和$query变量一样。如何检索所搜索的内容。它只是更改了URL,但无法检索变量。您如何检索Get variables?哦,对不起,我没有看到“在之前添加以下内容”我只是删除了原始内容并粘贴了您的。现在可以了。令人惊叹的。Thanxxx