我有一个Wordpress多站点,比如说:
示例。com两个。实例com树。实例com
RewriteCond %{HTTP_HOST} ^www\\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
将条目MS重定向到无www版本。现在,我想排除一些目录(即wp admin)和页面:
www.%。实例com/wp admin/whatever->无影响。实例com/prefixwhatever->无效。实例com/任意->%。实例com/samethever
/ul>我在另一个问题中看到了这段代码,但它需要一些修复才能为我工作(即不排除主页并将HTTP主机作为变量)。
<IfModule mod_rewrite.c>
RewriteEngine on
#Home: Exclude the home Page
RewriteCond %{REQUEST_URI} !^/$ [OR]
#News: exclude anything that starts with /prefix, /prefix-2 etc
RewriteCond %{REQUEST_URI} !^/(prefix|prefix-2|wp-admin) [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
</IfModule>
有什么想法吗?:D
非常感谢。
EDIT以下是NOT 工作它没有重定向任何内容:(
<IfModule mod_rewrite.c>
RewriteEngine On
# If yes-www
RewriteCond %{HTTP_HOST} ^www\\.example\\.com$ [NC]
# If the request doesn\'t start /prefix
RewriteCond %{REQUEST_URI} !^/prefix
RewriteCond %{REQUEST_URI} !^/prefiix-2
RewriteCond %{REQUEST_URI} !^/wp-admin
# Rewrite it:
RewriteRule ^/(.*) http://example.com/$1 [L,R=301]
</IfModule>
EDIT 2此代码:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\\.(.+)$ [NC]
RewriteCond %{REQUEST_URI} !^/host #physical file
RewriteCond %{REQUEST_URI} !^/test #Wordpress page
RewriteCond %{REQUEST_URI} !^/wp-admin #physical dir
RewriteCond %{REQUEST_URI} !^/wp-login.php #physical file
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
似乎可以很好地处理物理文件/目录。对于Wordpress页面,会发生以下情况:
www.example。com/测试->示例。com/索引。php www.example。com/testwhatever->示例。com/索引。php:(
EDIT 3
现在它似乎工作正常,只是添加了一个新条件:
<IfModule mod_rewrite.c>
RewriteEngine on
#If whe\'re using www.
RewriteCond %{HTTP_HOST} ^www\\.(.+)$ [NC]
#prefixes to !^ ignore
RewriteCond %{REQUEST_URI} !^/host
RewriteCond %{REQUEST_URI} !^/aprobar
RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/wp-login.php
#See at the end about index.php
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
当您使用permalinks时,Wordpress会执行以下操作以获取内容:
www.example。com/pretty url->www.example。com/索引。php?漂亮的url,所以我们需要避免重定向索引。php
新的问题是我们没有这样做:
www.example。com/索引。php->示例。com/索引。php->示例。我想我们可以在年底制定一条新规则。我们有权重写这个案子。