Wordpress Multisite .htaccess ..请解释功能

Ans*_*ari 2 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]
Run Code Online (Sandbox Code Playgroud)

Jon*_*Lin 7

RewriteEngine On
Run Code Online (Sandbox Code Playgroud)

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

RewriteBase /
Run Code Online (Sandbox Code Playgroud)

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

RewriteRule ^index\.php$ - [L]
Run Code Online (Sandbox Code Playgroud)

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

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

此规则与<some stuff>当时匹配wp-admin,并将浏览器重定向到相同的URL,但它以斜杠结尾.示例: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]
Run Code Online (Sandbox Code Playgroud)

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

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

此规则与<some stuff>then wp-contentwp-adminor 匹配wp-includes,并在<some stuff> Example:http://example.com/blah/blah/wp-admin/some/moregets to write to之后将URI重写为所有内容/wp-admin/some/more.

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

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

RewriteRule . index.php [L]
Run Code Online (Sandbox Code Playgroud)

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