重定向子目录而不影响主目录
Redirect subirectories without affecting the main directory
在 WordPress 中更新内容时,我发现生成 slug 的插件无法使用另一个页面已在使用的 slug,因此我不得不将 slug 更改为略有不同的东西。我现在需要确保任何尝试旧 url 的人都能在不影响主页的情况下被重定向到新 url。
所以我 /members/
有一个成员列表,您可以单击成员转到 /member/[name]
我需要重定向 /members/[name]
到 /member/[name]
( [name] 可以是任何东西,所以它需要是一个通配符。)
我已经使用了以下两个 htaccess 规则(不是同时),但它们总是最终重定向 /members/ 页面,这也破坏了一切。
RewriteRule ^members/(.*) http://domain.tld/member [R=301,L]
RedirectMatch 301 ^/members/.*$ http://domain.tld/member
如果 /
之后有内容,我错过了什么让它只重定向
旁注:我已经尝试找到这个问题的答案,但我发现的所有结果都试图做我需要的完全相反的事情(仅重定向 /members/ 的完全匹配)并且不会工作。
试试这个
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]
Redirect 301 /oldDir/old.php http://yourDomain/newDir/new.php
您没有使用请求的捕获部分。
尝试:
RedirectMatch ^/members/(.+)$ /member/
在 WordPress 中更新内容时,我发现生成 slug 的插件无法使用另一个页面已在使用的 slug,因此我不得不将 slug 更改为略有不同的东西。我现在需要确保任何尝试旧 url 的人都能在不影响主页的情况下被重定向到新 url。
所以我 /members/
有一个成员列表,您可以单击成员转到 /member/[name]
我需要重定向 /members/[name]
到 /member/[name]
( [name] 可以是任何东西,所以它需要是一个通配符。)
我已经使用了以下两个 htaccess 规则(不是同时),但它们总是最终重定向 /members/ 页面,这也破坏了一切。
RewriteRule ^members/(.*) http://domain.tld/member [R=301,L]
RedirectMatch 301 ^/members/.*$ http://domain.tld/member
如果 /
旁注:我已经尝试找到这个问题的答案,但我发现的所有结果都试图做我需要的完全相反的事情(仅重定向 /members/ 的完全匹配)并且不会工作。
试试这个
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301,L]
Redirect 301 /oldDir/old.php http://yourDomain/newDir/new.php
您没有使用请求的捕获部分。
尝试:
RedirectMatch ^/members/(.+)$ /member/