Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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/7/kubernetes/5.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永久重定向大量url-s_Php_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

通过.htaccess或php永久重定向大量url-s

通过.htaccess或php永久重定向大量url-s,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我只需要做一些常规的更改,并将所有url-s从一个php页面移动到另一个页面。这导致超过64000个来自谷歌的url丢失。如何更改旧的url,如: www.website.com/shop.php?product=nokia-phones-s5 到新的url,该url是 www.website.com/store.php?product=nokia-phones-s5 唯一的区别是url中的shop.php变为store.php 什么更好-php重定向和如何重定向?或者.htaccess重定向和

我只需要做一些常规的更改,并将所有url-s从一个php页面移动到另一个页面。这导致超过64000个来自谷歌的url丢失。如何更改旧的url,如:

www.website.com/shop.php?product=nokia-phones-s5 到新的url,该url是 www.website.com/store.php?product=nokia-phones-s5

唯一的区别是url中的shop.php变为store.php 什么更好-php重定向和如何重定向?或者.htaccess重定向和如何重定向


谢谢

您可以在
/phones/.htaccess
文件中使用此代码:

RewriteEngine On
RewriteBase /phones/

RewriteRule ^shop\.php$ store.php [L,NC,NE,R=301]

查询字符串会自动转发到新目标。

可能重复的您可以使用.htaccess中的“RedirectMatch”一条规则将所有url中的shop.php替换为store.php,此处可能重复。Alex我不认为建议的duplicate可用于我的情况,还有一些其他内容,并非所有url都必须更改,只有那些与url中的shop.php匹配的请求..这就是RedirectMatch规则的目的.经过测试,它没有重定向任何内容,没有错误,但也没有重定向..可能有什么问题?您在浏览器中输入的url为
www.website.com/shop.php?product=nokia-phones-s5
,它没有重定向?你确定。htaccess已启用?是的,两者都是是,但我没有输入url,我正在点击google WMT爬行错误URL页面来测试这是否有效。为什么RewriteRule是^shop\.php而不是RewriteRule ^shop.php?确定首先通过在浏览器中直接输入
www.website.com/shop.php?product=nokia-phones-s5
来测试规则,看看是否有效。如果这也不起作用,请将相同的垃圾(随机)文本放在
.htaccess
上,验证是否启用了
.htaccess
,并查看是否生成500(内部服务器)错误?