Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
.htaccess PHP-Htaccess-比较1中的两个URL屏蔽,禁用一个_.htaccess_Url_Parameters_Seo_Mask - Fatal编程技术网

.htaccess PHP-Htaccess-比较1中的两个URL屏蔽,禁用一个

.htaccess PHP-Htaccess-比较1中的两个URL屏蔽,禁用一个,.htaccess,url,parameters,seo,mask,.htaccess,Url,Parameters,Seo,Mask,我一直在搜索所有的问题并浏览,但没有找到任何解决我的问题的方法。希望在座的任何人都能回答我的问题 正如我们所知,我们屏蔽URL的方式是这样的:RewriteRule^([^/]+).htm$index.php?m=$1[L] 这将意味着: www.url.com/home.html=>www.url.com/index.php?m=home 我的问题是搜索引擎优化,www.url.com/index.php?m=home已经缓存到谷歌,但我希望搜索引擎优化友好的链接,而不是带有参数的链接被缓存到

我一直在搜索所有的问题并浏览,但没有找到任何解决我的问题的方法。希望在座的任何人都能回答我的问题

正如我们所知,我们屏蔽URL的方式是这样的:RewriteRule^([^/]+).htm$index.php?m=$1[L]

这将意味着: www.url.com/home.html=>www.url.com/index.php?m=home

我的问题是搜索引擎优化,www.url.com/index.php?m=home已经缓存到谷歌,但我希望搜索引擎优化友好的链接,而不是带有参数的链接被缓存到谷歌

不,我的问题是“是否可以禁用www.url.com/index.php?m=home的链接,这样当客户端在地址栏输入它时,它将不显示任何内容或跳转到主页,而www.url.com/home.html的链接仍然显示主页?”


任何帮助都将不胜感激。谢谢..

最好的方法是在当前规则之前,在
htaccess
中捕获查询字符串,并将其更改为新URI:

RewriteCond %{QUERY_STRING} ^m=([a-z0-9]+)$
RewriteRule ^(.*)$ %1.html? [R=301,L]

这将获取传递给
m
的任何内容,并将其重定向到
.html
等效项。

最好的方法是在当前规则之前捕获
htaccess
中的查询字符串,并将其更改为新URI:

RewriteCond %{QUERY_STRING} ^m=([a-z0-9]+)$
RewriteRule ^(.*)$ %1.html? [R=301,L]
这将获取传递给
m
的任何内容,并将其重定向到
.html
等效文件