关于我,我想将之后的所有内容重定向到www.mysite.nl/news/,然后重新发送到www.mysite.nl/news,www.mysite.nl/news/page除外(以及/页面之后的所有内容)
如何使用.htaccess进行此类操作?
编辑:我使用这些规则: <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^news/page.*$ index.php [L]
RewriteRule ^news/.+ news/ [R=301,L]
</IfModule>
答案 0 :(得分:1)
首先为要排除的子文件夹 - / news / page - 首先运行重写规则。
使用-
表示&#34;不要重定向&#34;和[L]
for&#34;最后一件事,如果你匹配&#34;。现在就停止。
或者,如果您希望它通过WordPress运行,请使用index.php
然后重定向启动/ news /
的网址这样,排除的子文件夹将无法访问重定向规则。
所以:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^news/page.*$ index.php [L]
RewriteRule ^news/.+ news/ [R=301,L]
</IfModule>
使用.+
表示一个或多个任意字符而不是.*
,这意味着任何字符都没有,或者没有任何字符,以避免将新闻重定向到新闻/。
答案 1 :(得分:0)
这应该适合你:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/news/page.* [OR]
RewriteCond %{REQUEST_URI} !^/news
RewriteRule / http://mysite.nl/news [R=301,L]
这会将除/news
或news/page
之外的所有内容重定向到/news
文件夹。