2012-09-07 47 views
1

我有規則在.htaccess中正常工作,如強制https。但以下否認,允許就是行不通。命令拒絕,不允許在htaccess中工作

order deny,allow 
deny from all 
allow from xxx.xxx.xxx.xxx 

.conf能否覆蓋htaccess?我應該注意什麼?有沒有可能導致此問題的模塊? .htaccess本身的作品,它只是否認,允許部分。

這樣做的原因是爲了讓我能發展非直播現場沒有人看見。

在此先感謝。

回答

0

我解決了這個我感動壞機器人塊到每個域的虛擬主機文件,現在使用的虛擬主機文件來限制訪問。一個痛苦的事情不是能夠爲機器人做這樣全球,如果其他人有更好的答案會受到歡迎:)

+0

你能分享你在vhost中所做的改變嗎文件 –

+0

不幸的是,這只是一個解決方法,不能解決問題。我不再擁有這臺服務器,並且沒有這個問題,因爲無法爲您提供任何我害怕的東西。 – n00bstacker

1

你應該看看在你的conf文件的AllowOverride條款。他們基本上授權.htaccess覆蓋.conf文件中的值。

+0

奇怪的事情正在發生。我在httpd.conf中添加了一個AllowOverride all到/ var/www/vhosts,並且它沒有工作,並且當我添加/ AllowOverride All時,我最終得到了它的工作。但顯然我不想出於安全原因這麼做。所以我改變/限制爲一個測試,並沒有工作,所以我改回到所有,它仍然不工作,即使我只是有工作 - :S ODD。我重新加載重新啓動並停止並啓動Apache幾次。哦,我對每一次嘗試都深深地感到滿意 – n00bstacker

+0

您可能有幾個.conf文件。通常我們每個虛擬主機都有一個。在每個虛擬主機中,您可以設置AllowOverride選項。 – Bgi

+0

因此,舉例來說,我應該能夠設置: <目錄「/var/www/vhosts/domain.com/httpdocs」> 的AllowOverride所有 這應該允許覆蓋,儘管對的AllowOverride /被設置爲沒有。對? 我已經添加到主httpd.conf和vhosts文件中,沒有喜悅。我已經讀過虛擬主機文件,看不到任何衝突。實際上,除了我剛剛添加的那個以外,vhosts文件中沒有其他AllowOverride選項。 – n00bstacker

1

這發生在我身上的時候,它是因爲我沒有使用的總是我認爲我正在使用的IP地址。這聽起來很愚蠢,但這很容易做到,因爲互聯網上的大多數計算機可以用至少兩個IP地址表示:一個專用於LAN,一個公開給Internet,通常通過啓用NAT的路由器。

例如,我正在設置一個國家IP地址白名單。我認爲,由於我和我的服務器位於同一局域網中,所以我不會從白名單開始,這將爲我提供一個良好的測試機會。但是,無論我做什麼,我都無法用適當的白名單來否認自己。我忘記了我通過外部IP訪問我的服務器:我打算登錄到我的路由器的Internet IP地址home.example.com。我的路由器明白我打算重新回到網絡,所以它是無縫的 - 直到我的IP地址重要。

有hackish的方式,我可以得到解決的問題,而不要去LAN IP,當然。它可能看起來像Apache是​​越野車,因爲我可以拿出一個Allow from聲明,它會起作用。

的一點是:如果它不工作,在阿帕奇的眼睛檢查你的IP地址。

相關問題