Wordpress Multisite .htaccess ..请解释功能

时间:2014-01-17 21:09:00

标签: wordpress .htaccess mod-rewrite wordpress-plugin

这是什么.htaccess文件在做什么?我对.htaccess。请不要了解任何事情。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

1 个答案:

答案 0 :(得分:7)

RewriteEngine On

这会打开重写引擎,如果不在htaccess文件中,则会忽略所有规则

RewriteBase /

这告诉重写引擎相对URL路径应该使用它作为基础

RewriteRule ^index\.php$ - [L]

此规则表示:“如果请求为index.php,则将其传递给重写引擎并停止重写”

RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

此规则与<some stuff>然后wp-admin匹配,并将浏览器重定向到相同的网址,但以斜杠结尾。示例:http://example.com/foo/bar/wp-admin被重定向到http://example.com/foo/bar/wp-admin/

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

此规则表示如果请求是针对存在的文件或目录,请将其传递给重写引擎并停止重写。

RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]

此规则与<some stuff>然后wp-contentwp-adminwp-includes匹配,并将URI重写为<some stuff&gt;之后的所有内容。示例:http://example.com/blah/blah/wp-admin/some/more被重写为/wp-admin/some/more

RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]

此规则与<some stuff>匹配后跟任何php文件,并将URI重写为<some stuff>之后的所有内容。示例:http://example.com/abc/123/somefile.php被重写为/somefile.php

RewriteRule . index.php [L]

最后,如果没有应用其他规则,则此规则会将其他所有规则重写为/index.php