Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/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 重定向301函数无法从具有多个变量的链接运行到没有变量的链接_.htaccess_Apache2 - Fatal编程技术网

.htaccess 重定向301函数无法从具有多个变量的链接运行到没有变量的链接

.htaccess 重定向301函数无法从具有多个变量的链接运行到没有变量的链接,.htaccess,apache2,.htaccess,Apache2,目前我正在测试一个.htaccess从开发域重定向到活动域 问题是来自开发领域的链接是这样的: /foo/bar?page=1&sortBy=name&sortOrder=asc 而活动域是这样的 http://www.livedomain.com/foo-bar.aspx 我尝试了不同的版本,但无法使其正常工作,例如: 全部启用重写引擎 在重写规则模式的末尾有或没有/$: 同样,无论是否在重写规则模式的末尾使用/$: 而且 RewriteCond %{QUERY_STR

目前我正在测试一个
.htaccess
从开发域重定向到活动域

问题是来自开发领域的链接是这样的:

/foo/bar?page=1&sortBy=name&sortOrder=asc
而活动域是这样的

http://www.livedomain.com/foo-bar.aspx
我尝试了不同的版本,但无法使其正常工作,例如:

全部启用
重写引擎

  • 重写规则
    模式的末尾有或没有
    /$

  • 同样,无论是否在
    重写规则
    模式的末尾使用
    /$

  • 而且

    RewriteCond %{QUERY_STRING} ^page=([^&]+)&sortBy=([^&]+)&sortOrders=([^&]+)$
    RewriteRule /foo/bar?page=%1&sortBy=%2&sortOrder=%3 http://www.livedomain.com/foo-bar.aspx/?  [QSA]
    

  • 它们不起作用,有什么建议吗?

    您的重写规则不正确。您只使用查询字符串进行匹配,反向引用将进入替换字符串,而不是模式

    试试这条规则

    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^page=(.+)&sortBy=(.+)&sortOrders=(.+)$ [NC]
    RewriteRule ^foo/bar$ http://www.livedomain.com/foo-bar.aspx/?  [R=301,L]
    

    对不起,但是没有
    告诉我什么。什么不起作用?你清除了你的缓存了吗。如果您使用的是确切的查询字符串,那么该规则应该像我测试过的那样工作。您需要提供更多详细信息和预期结果是否启用了重写或.htaccess?如果你将垃圾文本放在.htaccess的顶部并尝试加载页面,你会收到错误吗?是的,这是一个laravel项目,我需要它将我重定向到公用文件夹,如果我将垃圾文本放在其中,它会给我内部服务器错误500你将它放在哪个htaccess中。dev还是live?dev,我正在访问dev页面|从dev到live
    RewriteCond %{QUERY_STRING} ^page=([^&]+)&sortBy=([^&]+)&sortOrders=([^&]+)$
    RewriteRule /foo/bar?page=%1&sortBy=%2&sortOrder=%3 http://www.livedomain.com/foo-bar.aspx/?  [QSA]
    
    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^page=(.+)&sortBy=(.+)&sortOrders=(.+)$ [NC]
    RewriteRule ^foo/bar$ http://www.livedomain.com/foo-bar.aspx/?  [R=301,L]