【问题标题】:unable to redirect htaccess无法重定向 htaccess
【发布时间】:2013-02-19 16:12:20
【问题描述】:

好吧,我已经尽力了,用谷歌搜索了很多。

终于想出一个重定向www.mysite.com/?page=2 to www.mysite.com的解决方案。但是我的解决方案为页面的其余部分提供了 404 错误。 这是我的解决方案:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^?Page=2$ 
RewriteRule .? %{REQUEST_URI}? [R=301,L]`

我想要的是重定向www.mysite.com/?page=2 to www.mysite.com

可以有page=(any numeric value)

请指导。

谢谢!

【问题讨论】:

  • 尝试将RewriteRule .? %{REQUEST_URI}? [R=301,L]改为RewriteRule .? http://www.mysite.com [R=301,L]
  • 是的,我做到了,但没有奏效!
  • 在 Chrome 浏览器上显示“此网页有重定向循环”的错误
  • 我想通了,看我的回答

标签: .htaccess magento


【解决方案1】:

问号似乎没有包含在查询字符串变量中。这段代码应该可以工作:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^page=[0-9]+$ [NC]
RewriteRule . %{REQUEST_URI}? [R=301,L]

【讨论】:

  • 哎呀,似乎把问号一起去掉就行了:)
  • Yes..wat 是在使用此 URL 时 www.mysite.com/?Page=2 显示主页内容。我想将它重定向到主页或从 URL 中删除这个 ?Page=2。
  • 哦,抱歉,我以为你想要一个外部重定向。我再次更新了我的答案,这次页面参数也可以是任何数值,并且查询参数被剥离(就像你在问题中所做的那样,doh ;))
  • 这也不起作用/重定向。我认为应该是..我的网站在magento上,我也清除了缓存,但这个解决方案似乎不起作用..:-((
  • 嗯。查询字符串 only 是由 ?page=2 组成还是有其他参数?例如,如果您有 ?page=2&theme=light,则重定向将不起作用。修复此更改 ^page=[0-9]+$page=[0-9]+
【解决方案2】:

好吧,我解决了这个问题,但不是从 htaccess 解决的。我是通过一个简单的 PHP 编码完成的。

以下是我所做的:

$pge=$_GET['Page'];

if($pge) {

`header ('HTTP/1.1 301 Moved Permanently');`

header('Location: http://www.mysite.com/');

exit();

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多