PHP*_*ver 43 php apache .htaccess mod-rewrite
大家好,我在我的网站上使用PHP,在我的系统上使用ubuntu linux.我在apache的error.log文件中得到了上述错误,即使在正确配置所有内容之后也是如此.我对此做了很多研究,但无法解决问题.有人可以帮我解决这个问题吗?以下是我的.htaccess文件abc directory
.有人可以帮我这方面吗?
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName abc.org
AuthUserFile /home/abc/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/abc/public_html/_vti_pvt/service.grp
Options -Indexes
RewriteEngine On
RewriteRule ^alumni$ alumni.php
RewriteRule ^student$ student.php
RewriteRule ^view_alumni_article/view/([0-9]+)$ view_alumni_article.php?op=view&article_id=$1
Run Code Online (Sandbox Code Playgroud)
Jon*_*Lin 119
确保apache可以读取htaccess文件:
chmod 644 /var/www/abc/.htaccess
Run Code Online (Sandbox Code Playgroud)
并确保它所在的目录是可读和可执行的:
chmod 755 /var/www/abc/
Run Code Online (Sandbox Code Playgroud)
小智 31
当我更改一次使用的主目录时,我遇到了同样的问题.在我的情况下,这是因为selinux
.我用下面的方法解决了这个问题:
selinuxenabled 0
setenforce 0
Run Code Online (Sandbox Code Playgroud)
如果它进入selinux竞技场,你会遇到一个更复杂的问题.删除selinux保护但接受它并使用旨在管理它的工具并不是一个好主意.
如果您正在提供内容/var/www/abc
,则可以使用Z
附加到普通ls -l
命令来验证selinux权限.即ls -laZ
会给SELinux上下文.
要添加selinux服务的目录,您可以使用这样的semanage
命令.这会将标签更改/var/www/abc
为httpd_sys_content_t
semanage fcontext -a -t httpd_sys_content_t /var/www/abc
Run Code Online (Sandbox Code Playgroud)
这将更新标签 /var/www/abc
restorecon /var/www/abc
Run Code Online (Sandbox Code Playgroud)
这个答案来自unixmen并进行了修改以适应这个问题.我一直在寻找这个答案,最后发现它感觉我需要分享某个地方.希望它可以帮助某人.