- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的项目在 Blue 主机共享主机以及我的 XAMPP localhost 中运行良好。
为了测试,我们将文件移动到本地 ubuntu 服务器。但是 .htaccess 在这个 ubuntu 服务器上不起作用。这意味着可以使用 .php 扩展名访问的文件,但在没有 .php 扩展名的情况下会出现 404 错误。http://172.31.0.55/project/contact.php
有效,但是http://172.31.0.55/project/contact
显示 404 错误
这是我使用的 htaccess 代码。
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /project/
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php[\s?] [NC]
RewriteRule ^ %1 [R=301,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/project/$1.php -f
RewriteRule ^(.+?)/?$ /project/$1.php [L]
Options All -Indexes
RewriteCond %{HTTP_REFERER} !^http://(www\.)?172.31.0.55/project/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?172.31.0.55/project/.*$ [NC]
ErrorDocument 403 http://172.31.0.55/project/403-error
ErrorDocument 404 http://172.31.0.55/project/404-error
/etc/apache2/apache2.conf
中的行
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride none
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
http://172.31.0.55/project/
时显示 500 Internal server error
Apache/2.4.18 (Ubuntu)
它是一个 PHP 网站
The configuration layout for an Apache2 web server installation on Ubuntu systems is as follows:
/etc/apache2/
|-- apache2.conf
| `-- ports.conf
|-- mods-enabled
| |-- *.load
| `-- *.conf
|-- conf-enabled
| `-- *.conf
|-- sites-enabled
| `-- *.conf
rwx rwx r-x
最佳答案
默认情况下,Apache 禁止使用 .htaccess 文件来应用重写规则,因此首先您需要允许对文件进行更改。使用 nano 或您喜欢的文本编辑器在此路径/etc/apache2/sites-available/000-default.conf 中打开默认的 Apache 配置文件$ sudo nano /etc/apache2/sites-available/000-default.conf
在该文件中,您将找到 <VirtualHost *:80>
block 从第一行开始。在该 block 内,添加以下新 block ,使您的配置文件如下所示。确保所有 block 都正确缩进。
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
$ sudo systemctl restart apache2
关于php - 在 Ubuntu 中将 AllowOverride 更改为 All 后出现 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44438644/
有各种各样的帖子建议您如何添加 .htaccess 文件以从 URL 中删除 index.php。但是,为了使 .htaccess 文件工作,必须更改 AllowOverride(通常为“All”)。
我已经设置了一个虚拟主机,如下所示 DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog $
我最近使用 WampServer(2.4 版)创建了一个虚拟主机,因此我可以使用 http://yannbergonzat.local url 访问我的本地网站: ServerName ya
我试图在我本地电脑的网站上写一个 .htaccess 文件, 我意识到我需要设置 AllowOverride All 而不是 None 搜索,找到文件/etc/apache2/conf.d/secur
我正在使用 CodeIgniter,并且刚刚在 Ubuntu 10.10 云服务器上安装了一个 LAMP 堆栈。 一切正常,我启用了 Apache userdir 模块,因此我的主目录位于 /home
AllowOverride all 除了编辑 /etc/apache2/sites-available/default 还有其他选项吗,意味着我有超过 两个项目 在我的远程服务器中,当我将默认值编辑为
嗯,这还不是问题,但我不明白为什么 Apache 正在读取 .htaccess文件...我做: grep -R "AllowOverride" /etc 我有: /etc/apache2/apache
我刚刚创建了我的服务器,我需要使用 .htaccess 文件,其中一个可以工作而另一个没有......显然要使 .htaccess 工作,你需要启用 AllowOverride,所以我在下面做了:/e
有没有办法使用 PHP 来检查 AllowOverride 的值,看看 .htaccess 是否有任何影响? 最佳答案 我不知道有一种干净、直接的方法可以做到这一点。 如果您对要检查的文件夹具有 ht
我有一个在 WAMP 上完美设置的虚拟主机,就像这样... # # Use name-based virtual hosting. # NameVirtualHost *:80 # # Virtual
我已经在我的 Mac (OSX 10.9) 上设置了一个服务器,但它在错误日志中返回了 500 错误和以下消息… [alert] [client ::1] /Users/user/Sites/mysi
我正在远离 AMPPS/MAMP,并希望构建一个尽可能接近生产环境的开发环境。 因此,我在安装了 CentOS 6.4 64 位 os box 的 Mac 上使用 Vagrant/VirtualBox
我最近从 Apache 2.2 更新到 Apache 2.4 并注意到我在某些域上的子目录不再显示(通过 http 访问导致空白页面)。我有 50% 的信心这与将默认 AllowOverride 切换
How to edit httpd.conf file in AMAZON EC2 codeigniter .htaccess in amazon ec2 removal of index.php n
假设我们在文件系统上有 /home/example.org/public_html/ 目录,它作为我的虚拟主机的文档根目录。 该虚拟主机的相关 httpd 配置如下所示: ServerName
我的项目在 Blue 主机共享主机以及我的 XAMPP localhost 中运行良好。 为了测试,我们将文件移动到本地 ubuntu 服务器。但是 .htaccess 在这个 ubuntu 服务器上
所以我在发布我的 ASP.NET MVC 应用程序时遇到了这个错误。它在本地运行良好: " This happens when the site administrator has locked ac
我是一名优秀的程序员,十分优秀!