2016-01-06 29 views
0

我不確定我的.htaccess文件是否有問題,但最近我一直在注意到它被覆蓋。它位於網站目錄的根文件夾中。這是我在我的.htaccess在Wordpress中覆蓋root.htaccess文件

RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} ^mysite\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ 

## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/jpg "access 1 week" 
ExpiresByType image/jpeg "access 1 week" 
ExpiresByType image/gif "access 1 week" 
ExpiresByType image/png "access 1 week" 
ExpiresByType text/css "access 1 week" 
ExpiresByType application/pdf "access 1 month" 
ExpiresByType text/x-javascript "access 1 week" 
ExpiresByType application/x-shockwave-flash "access 1 month" 
ExpiresByType image/x-icon "access 1 year" 
ExpiresDefault "access 1 week" 
</IfModule> 
## EXPIRES CACHING ## 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

被覆蓋後,我離開了這一點:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

如何防止這種情況的發生?該網站在共享主機上。

其他信息(2016年1月15日): 我有一個網站在臨時網站上有相同插件的副本。現場只有幾個不同的插件。否則他們是非常相同的。

在生活網站上,今天我發現.htaccess文件每隔幾秒更新一次。我登錄到FTP,每次刷新目錄時,都會看到Last Modified時間已更改。我再次添加上面的代碼,並每隔幾分鐘刷新目錄。它不斷改變Last Modified時間,但內容沒有改變。我認爲它每隔幾個星期左右就會完全覆蓋一次內容。這可能是發生了什麼,但我不知道爲什麼。無論如何,我還將文件權限從644更改爲444.完成此操作後,每次刷新時Last Modified時間都沒有更改。我會密切關注此事,並在幾天內再次檢查。

它可能是託管服務提供商的問題嗎?日誌中沒有任何內容表明任何有用的東西。

+1

我會檢查你在網站上使用的插件,看看他們中的一個是否正在重寫htaccess文件。如果你可以一直讓文件重寫,請嘗試關閉所有插件,看看它是否重寫。如果沒有,開始打開插件,一個接一個,直到它重寫,然後你找到了你的罪魁禍首。 – Joe

+1

Joe可能是對的,因爲Wordpress應該重寫「#BEGIN WordPress」和「#END WordPress評論」之間的內容。雖然在你的htaccess中有一個錯誤(與你的問題無關,但仍然):在最上面你有兩個沒有任何'RewriteRule'的'RewriteCond'。 – vard

+0

@vard感謝您指出沒有'RewriteRule'的雙重'RewriteCond'。 – user1448031

回答

0

您是否更新了文章格式?通常情況下,它會將信息添加到.htaccess而不是重新創建它,但可能會發生。另一個猜測是@joe建議:嘗試禁用你的插件,看看會發生什麼。

最後,您可以使用權限使.htaccess只讀。如果你需要權限的幫助,這是一個很好的開始:http://www.december.com/unix/ref/chmod.html

+0

謝謝。我嘗試了一些東西,並更改了文件權限。我已經用更多的細節更新了這個問題。 – user1448031

+0

@ user1448031它可能是你的主機,但我從來沒有看到過。您是否嘗試備份您的網站,並檢查.htaccess獨立時會發生什麼? – Yeikel