大约一周之内,我们必须在一个新的域名上使用网站。但我们不希望每个人都得到404,所以我们想要重定向每个人。htaccess失去参数,但保持可变
我们的问题是其次,
旧的链接:http://www.example.com/one/detail?id=12345-54321-21345-32145-43215
新链接:http://www.newpage.com/one/12345-54321-21345-32145-43215/
所以我们想要的仅仅是 '12345-54321-21345-32145-43215',没有“细节?=”
我们已经尝试了很多东西,但由于某种原因,我们不能失去的‘细节'=’
我一直试图在本地的,
NEWPAGE具有以下的htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
示例页面已经改变了很多次试图找出什么,这将是无用的发布吧..
编辑:这两个网站上生活是wordpress网站 编辑2:细节?=改为细节?编号=因为我制定了错误的。
答案适用于以前的问题。我试图将其更改为
RewriteCond %{QUERY_STRING} ^(?:id)?=([0-9-]+)$
RewriteRule ^one/detail/id$ http://newdomain.com/one/%1/? [NC,L,R=301]
但这不起作用。我怎样才能解决这个问题? (?或者我应该只是创建了一个新的问题,为此)
您的重写不会执行客户端重定向 - 它纯粹是内部服务器端重写。你需要一个'[R = 301]',这样客户端的地址栏中的url就会被更改。 –