2014-10-10 13 views
0

我一直試圖在兩個小時的時間內配置apache2來使用.htcaccess。無法使用Apache2配置.htcaccess

這是我的配置文件:

<VirtualHost *:80> 
    ServerAdmin MY_EMAIL 
    DocumentRoot /var/www/MY_DOMAIN/public_html 
    ServerName MY_DOMAIN 
    ServerAlias www.MY_DOMAIN 
    Header set Access-Control-Allow-Origin "*" 

    <Directory /var/www/MY_DOMAIN/public_html> 
     Options FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName SUB_DOMAIN.MY_DOMAIN 
    DocumentRoot /var/www/MY_DOMAIN/SUB_DOMAIN 
    <Directory /var/www/MY_DOMAIN/SUB_DOMAIN> 
     AllowOverride All 
    </Directory> 
</VirtualHost> 

這裏是我的.htcaccess(位於/var/www/MY_DOMAIN/public_html/.htcaccess):

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

如果我訪問MY_DOMAIN/header,我收到404錯誤。但是,MY_DOMAIN/header.php工作正常。

我該如何解決這個問題?謝謝!

+0

您能否確認'.htaccess'的位置?您還沒有關閉第二臺虛擬主機中的'',這不太可能導致問題,但仍應該關閉。 – arco444 2014-10-10 13:14:41

+0

Woops,它在實際文件中關閉,但我沒有完全複製它:P。無論如何,我已更新我的問題以顯示它的位置('/ var/www/MY_DOMAIN/public_html/.htcaccess')。 – 2014-10-10 13:28:20

+0

你的配置看不到任何明顯的錯誤,只是自己測試它,它工作。 404會不會說'header.php'找不到?至少你會知道重寫正在工作,如果它確實如此。你也可以嘗試啓用'RewriteLog' – arco444 2014-10-10 13:33:30

回答

2

你命名的文件「的.htaccess」或「.HT Ç訪問」

如果你沒有正確命名的文件,這可能是問題。

我認爲您正在尋找「.htaccess」