.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]