我是.php和服务器以及所有这些疯狂(和StackOverflow)的新手,但我已经下载了Apache,我正在尝试将PHP代码文件夹符号链接到Apache根目录。我的Apache root是var/www/html
,我的PHP代码文件夹是Documents/PHPStuff
。我将var/www/html
重命名为var/www/html2
,我在var/www/
中创建了一个名为'html'的符号链接,链接到Documents/PHPStuff
,想是否将符号链接重命名为Apache正在寻找的名称那会有用。
没有。
当我尝试在我的浏览器中使用'localhost / helloworld2.php'访问名为'helloworld2.php'的Documents/PHPStuff
中的测试文件时,我收到403 Forbidden Error。
我一直在搞乱符号链接和PHPStuff目录中的权限,将它们更改为777和东西,但它没有用。我还通过将FollowSymlinks None
更改为FollowSymlinks All
来更改了我的httpd.conf文件。什么都没有奏效,所以这是我的最后一招。
答案 0 :(得分:0)
你不应该做所有这些。
这是我设置符号链接的方式。
当我安装apache时,它的web目录位于/ var / www / html,实际上并不需要更改。
然后,我创建一个名为public_html的文件夹,你可以称之为PHPStuff,没关系。重要的是该文件夹位于您的主目录中,所以/ home / your_username / PHPStuff
然后将该目录链接到/ var / www / html
sudo ln -s ~/PHPStuff /var/www/html/$USER
然后,您可以访问浏览器并输入:
来访问〜/ PHPStuffhttp://localhost/your_username
这将使您可以访问〜/ PHPStuff
执行此操作后,请设置适当的权限:
sudo chmod -R 777 ~
然后通过转到/etc/httpd/conf/httpd.conf并编辑此部分目录“/ var / www / html”来确保apache允许符号链接
并确保你有这些:
Options Indexes FollowSymLinks
AllowOverride All
重启apache,一切正常。
答案 1 :(得分:0)
尝试不要触摸你的http.conf。而是编辑conf.d路径中的文件。
要授予对主路径的访问权限,请编辑/etc/http/conf.d/userdir.conf以激活用户目录选项,例如:
<IfModule mod_userdir.c>
#UserDir disabled
UserDir public_html
</IfModule>
<Directory "/home/*/public_html">
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
然后,重启你的apache。
现在,您必须创建一个目录/ home / $ USER / public_html并在其中创建〜/ PHPStuff的符号链接,如
ln -s ~/PHPStuff ~/public_html/PHPStuff
您可以将PHPStuff移动到〜/ public_html /而不是创建符号链接。
确保您的homedir具有711权限,public_html具有755,并且所有人都可以读取PHPStuff中的目录和文件。
最后,输入您的网络浏览器
http://localhost/~user ('user' is your system username)
您将看到列出的PHPStuff。您可以输入
http://localhost/~user/PHPStuff
直接查看PHPStuff内容。
祝你好运!答案 2 :(得分:0)
您需要确保apache可以访问符号链接指向的文件夹,尝试运行:
chmod a + x / home / your-username / home / your-username / Documents / PHPStuff