这是什么.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]
答案 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-content
或wp-admin
或wp-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
。