我正在尝试在我的httacess文件中为部分网址创建重写规则。如果请求包含特定字符串,我想重写url。例如,仅在包含/members/
所以
mydomain.com/members/
mydomain.com/members/activity/ros1...
mydomain.com/members/ay/bd...
以上所有内容都应更改为其他网址,因为网址中的匹配/成员/字符串
RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET /members/(.*)
RewriteRule ^(.*)$ - [F,L]
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/members(.*)
RewriteRule ^(.*)$ - [F,L]
我尝试了各种组合,但似乎没有用。我确信我做的事情确实是错误的,因为不是专家。感谢任何指针。
答案 0 :(得分:0)
RewriteCond %{REQUEST_URI} ^/members
RewriteRule ^(.*)$ http://www.google.com/$1 [R, 301]
我会尝试重定向/ members的请求并将它们发送到另一个域。 (使用相同的请求uri)。有关mod_rewrite的更多信息,请参见https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewriterule
答案 1 :(得分:0)
您在重写时使用F
标记。该标志是将 Forbidden
状态发送回客户端。如果您想将用户重定向到另一个网址,则需要将该网址作为第二个参数传递给RewriteRule
指令,并带有R
标记:
RewriteEngine On
RewriteRule ^members\b http://some-other-website.com [R]