2014-01-17 66 views
2

這是什麼.htaccess文件在做什麼?我不知道.htaccess的任何內容。請幫助。WordPress的多站點.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] 

回答

4
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一致,不同的是它用斜線結束瀏覽器重定向到相同的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] 

這條規則說,如果請求的是一個文件或目錄的存在,使其通過重寫引擎停止重寫。

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

該規則針對<some stuff>然後wp-contentwp-adminwp-includes或匹配,並且<some stuff>實施例之後重寫所述URI以一切: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