Ubuntu Apahce2.4下無(wú)法訪問(wèn)JS目錄的問(wèn)題解決
問(wèn)題描述
今天調(diào)試一個(gè)項(xiàng)目,項(xiàng)目放在webroot下面的javascript目錄,無(wú)論怎么設(shè)置都是403 You don't have permission to access /javascript/ on this server.
思考過(guò)程
首先第一反應(yīng),Google了錯(cuò)誤You don't have permission to access /javascript/ on this server.
,然后發(fā)現(xiàn)大部分答案都說(shuō)到了配置文件中的Directory設(shè)置。比如
<Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory>
而我并不是整個(gè)webroot都不能訪問(wèn),其他所有的文件夾都可以訪問(wèn),就是目錄javascript文件夾沒(méi)有權(quán)限訪問(wèn),我的設(shè)置是
<Directory /home/hfx/workspace/> Options Indexes FollowSymLinks # AllowOverride None AllowOverride All Require all granted </Directory>
所以按理來(lái)說(shuō)也是沒(méi)有問(wèn)題的,可以單單就是javascript目錄無(wú)法訪問(wèn),并且我嘗試重新給javascript目錄設(shè)置權(quán)限
chmod 777 -R javascript
然而還是并沒(méi)有什么用,于是我嘗試更改javascript變成javaScript或者新建其他的名字的文件夾,而它們均可以正常訪問(wèn),所以猜想癥結(jié)應(yīng)該是那里的配置禁止了web根路徑下名字為javascript的路徑。
發(fā)現(xiàn)問(wèn)題
于是我看apache的所有配置文件,打開(kāi)/etc/apache2/conf-enable/目錄,發(fā)現(xiàn)了一個(gè)名為javascript-common.conf的配置文件,打開(kāi)一看
Alias /javascript /usr/share/javascript/ <Directory "/usr/share/javascript/"> Options FollowSymLinks MultiViews </Directory>
其實(shí)我并不知道具體是什么意思,可是從字面意思大概看出,配置里面指定了一個(gè)別名/javascript到目錄/usr/share/javascript/,應(yīng)該訪問(wèn)/javascript就變成了訪問(wèn)目錄/usr/share/javascript/而不是我們?cè)趙eb根目錄下創(chuàng)建的javascript目錄。
解決方案
于是google一下javascript-common.conf,這才發(fā)現(xiàn)了很多真正與此相關(guān)的問(wèn)題,所以真正的解決方案有很多種,有的直接修改別名的名稱為/javascript-common,而我覺(jué)得最好的解決方案應(yīng)該是
You don’t need to edit the conf file or purge the package just disable it.
a2disconf javascript-common service apache2 reload
If for some reason you want to use that conf:
a2enconf javascript-common service apache2 reload
另外解釋一下a2disconf和a2enconf的作用,官方的介紹是
a2enconf, a2disconf - enable or disable an apache2 configuration file
從介紹就直接明了它的作用了。快捷的啟用或者禁用一個(gè)apache模塊。
另外還有類似的幾個(gè)命令:
- apache2ctl - Apache HTTP server control interface
- a2enmod, a2dismod - enable or disable an apache2 module
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
免費(fèi)常用Linux VPS管理面板/一鍵包介紹和安裝方法
這篇文章主要介紹了常用免費(fèi)Linux VPS管理面板/一鍵包介紹和安裝方法,需要的朋友可以參考下2017-02-02學(xué)習(xí)Apache的mod rewrite、access寫法
Apache的mod_rewrite是提供了強(qiáng)大URL操作的殺手級(jí)的模塊,可以實(shí)現(xiàn)幾乎所有你夢(mèng)想的URL操作類型,其代價(jià)是你必須接受其復(fù)雜性,因?yàn)閙od_rewrite的主要障礙就是初學(xué)者不容易理解和運(yùn)用,即使是Apache專家有時(shí)也會(huì)發(fā)掘出mod_rewrite的新用途。2008-09-09Apache的status相關(guān)問(wèn)題解決辦法
這篇文章主要介紹了Apache的status相關(guān)問(wèn)題解決辦法,文中環(huán)境為L(zhǎng)inux系統(tǒng),需要的朋友可以參考下2015-07-07