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
工作正常。
我該如何解決這個問題?謝謝!
您能否確認'.htaccess'的位置?您還沒有關閉第二臺虛擬主機中的'',這不太可能導致問題,但仍應該關閉。 –
arco444
2014-10-10 13:14:41
Woops,它在實際文件中關閉,但我沒有完全複製它:P。無論如何,我已更新我的問題以顯示它的位置('/ var/www/MY_DOMAIN/public_html/.htcaccess')。 – 2014-10-10 13:28:20
你的配置看不到任何明顯的錯誤,只是自己測試它,它工作。 404會不會說'header.php'找不到?至少你會知道重寫正在工作,如果它確實如此。你也可以嘗試啓用'RewriteLog' – arco444 2014-10-10 13:33:30