微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

htaccess 301redirectURL的参数

我在我的htaccess文件中有以下内容,它需要一个URL:www.example.com/Page.PHP?id=About,并将其转换为www.example.com/about。 唯一的问题是,当我在htaccess中设置Redirect 301时,旧的URL不会redirect到新的URL(我的理解是因为你不应该在基本的Redirect 301中传递参数 – 基本redirect的例子,以下试过)。

Redirect 301 /Page.PHP?id=About http://www.example.com/about

值得注意的是,新的URL不一定只是删除当前的id,并用小写的版本replace它。 例如,我也想:

Redirect 301 /Page.PHP?id=Example http://www.example.com/example-page

我想保留当前重写URL的function,但也希望对旧URL进行任何访问以redirect到新的URL(即更新Google索引)。 访问www.example.com/Page.PHP?id=About目前仍然有效,但显示一个没有内容页面

Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z0-9-]+)/?$ Page.PHP?id=$1 RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ Page.PHP?id=$1&tab=$2 RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ Page.PHP?id=$1&tab=$2&tabid=$3

Apache .htaccess盗链redirect

如何在.htaccess中设置代理

Apache RewriteCond%{REQUEST_FILENAME}!-d不工作

使用htaccess修复拼写错误的url

将旧域的所有请求redirect到新域

使用htaccess apacheredirect所有机器人

我的htaccess RewriteRule在localhost / mysite上工作,但不在mysite.com上的1&1共享主机上

使用.PHP扩展名redirect所有文件

.htaccess重写规则删除RK = 0 / RS =后的所有内容

.htaccess中的基本URL

如果你添加这个规则到你的.htaccess中,它应该完成重定向的工作。 它将添加?id =关于重定向到/ about。 如果您运行的是2.4.0或更高版本,则可以添加QSD标志以放弃重定向中的查询字符串。

RewriteCond %{QUERY_STRING} ^id=About$ RewriteRule ^page.PHP /about [NC,R,L]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐