我刚刚设置了一个新的 AWS EC2 LAMP Stack(使用 aws 市场)。服务器有 php7、Apache2 现在我的问题是我想使用 mod_rewrite,这样我就可以转到像 www.mydomain.com/contact 这样的网址,而不是 www.mydomain.com/contact.php
但是,当我访问 www.mydomain.com/contact 时,出现了文件未找到错误??当我访问我的域名时,主页加载没有任何问题,如果我访问 www.mydomain.com/contact.php,它就可以正常工作。
所以我不确定我错过了什么?
如果我查看我的 phpinfo 页面,我会看到 mod_rewrite 列在已加载模块部分中。此外,我的虚拟主机文件如下所示 9note 我将本文下面的真实域名替换为“mydomain”,显然我会在其中使用真实域名。
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/mydomain
ErrorLog ${APACHE_LOG_DIR}/mydomain_error.log
CustomLog ${APACHE_LOG_DIR}/mydomain_access.log combined
<Directory /var/www/html/mydomain>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
</Directory>
</VirtualHost>
在我的托管帐户根目录中,我有一个 .htaccess 文件,其中包含
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Options -Indexes
DirectoryIndex index.php index.html