我试着写在.htaccess重写规则一个,但我有问题重写规则时,有ID =
我尝试从重定向:
blog/entrada.php?id=2
要:
/blog/3D-touch
这是我尝试过的多种事情之一,并且不起作用:
RewriteRule ^blog\/entrada\.php\?id=2$ /blog/3D-touch [L,R=301]
我的规则有什么问题。如何有效地重定向?
感谢
我试着写在.htaccess重写规则一个,但我有问题重写规则时,有ID =
我尝试从重定向:
blog/entrada.php?id=2
要:
/blog/3D-touch
这是我尝试过的多种事情之一,并且不起作用:
RewriteRule ^blog\/entrada\.php\?id=2$ /blog/3D-touch [L,R=301]
我的规则有什么问题。如何有效地重定向?
感谢
查询字符串是不匹配的重写规则指令的一部分,重定向查询字符串,你需要使用的RewriteCond下列选项之一:
选项1
RewriteEngine on
RewriteCond %{THE_REQUEST} /blog/entrada\.php\?id=2 [NC]
RewriteRule^/blog/3D-touch? [NC,L,R]
选项2
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=2$ [NC]
RewriteRule ^blog/entrada\.php$ /blog/3D-touch? [NC,L,R]
我们使用一个空的问号?在目标网址的末尾丢弃旧的查询字符串,否则这些查询字符串会默认被添加到目标网址。
更改[R到R = 301,如果你想使重定向永久。
使用此代码
RewriteRule blog/(.*) blog/entrada.php?id=$1
该代码会重定向具有博客的所有URL /博客/ entrada.php和博客的价值后把/至$ _GET [“身份证” ]
你应该有下面的代码n您的htaccess文件的顶部位置
Options +FollowSymLinks
RewriteEngine on
这两个选项工作得很好。在选项1 RewriteRule中,你为什么要写^你能解释一下吗? – segon