Moh*_*mad 4 apache .htaccess virtualhost ubuntu-16.04
我用以下代码创建了一个虚拟主机:
<VirtualHost *:80>
ServerAdmin admin@127.0.0.1
ServerName site.ws
ServerAlias www.site.ws
DocumentRoot /home/me/Projects/website/build
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /home/me/Projects/website/build>
Allow from all
Satisfy any
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我使用以下代码在 /build 目录中创建了一个 .htaccess 文件:
RewriteEngine On
RewriteRule ^(.*)$ $1.html [R,NC]
Run Code Online (Sandbox Code Playgroud)
考虑我的 mod_rewrite 在 apache2 中处于活动状态,但我无法使用 /filename 打开页面
例如 site.ws/about
它显示错误:在此服务器上找不到请求的 URL /about。
我在 win 中尝试使用 Apache2 2.4.27:
首先在 httpd.conf 文件中启用虚拟主机。
虚拟主机:
<VirtualHost *:80>
ServerName site.ws
DocumentRoot /home/me/Projects/website/build
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /home/me/Projects/website/build>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
.htaccess:
###START MOD_REWRITE
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#REMOVE .html EXTENSION
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
</IfModule>
###END MOD_REWRITE
Run Code Online (Sandbox Code Playgroud)