Htaccess重定向无法正常工作

时间:2013-01-20 20:57:09

标签: .htaccess redirect

我只是想写一个简单的网址重定向,我尝试使用下面的代码,除了以重定向302 开头的行之外,Everyline工作,我要做的是做这个线路工作。

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ 

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+taksit\.asp\?[^\s&]+ [NC]
RewriteRule ^ /? [R=301,L]

**Redirect 302 /mikrometreler/%C4%B0%C3%A7-%C3%A7ap-mikrometresi?sort=p.price&order=ASC http://www.hirdavatdeposu.com/mikrometre/ic-cap-mikrometresi**

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\_(.*)$ $1-$2 [R=301,L]

这不起作用的原因是什么?

1 个答案:

答案 0 :(得分:0)

首先,重定向实施不是由mod_rewrite管理,而是由mod_alias管理。所以你不需要启动RewriteEngine。

现在查看Redirect文档,我们可以看到语法是:

Redirect [status] /path http://full_uri

所以尝试类似:

Redirect 302 /asdasd/asdasd http://www.mysite.com/newurl

当它工作时尝试将302更改为301,因为在第一次回答后浏览器不会请求301,因此它们更难调试。

修改

现在你的问题有很多不同了: - )

尝试:

  • 从Redirect命令的路径中删除查询字符串部分(查询字符串部分是?之后的所有内容,路径不包含?和theses参数)
  • 如果要匹配表达式
  • ,请尝试使用RedirectMatch而不是Redirect
  • 如果您的问题未通过前面的步骤重新解决,请尝试使用mod重写(使用[R = 302]部分的规则)重新解析它。但是如果你需要处理查询字符串部分,它将是复杂的重写规则,如Use rewrite rule by query stringRewriting dynamic URLs
  • 中所示。