Apache2 配置rewrite模块
Debian将Apache2的配置井井有序的组织为了几个分开的文件夹,并提供了几个方便的工具。分别是apache2ctl,a2enmod,a2dismod,a2ensite,a2dissite,a2enconf,a2disconf。
apache2ctl用来控制apache2的服务,后面几个分别对应/etc/apache2目录下的mods-enabled/available,sites-enabled/available,conf-enabled/available。
首先,启用rewrite我们只需要
$ a2enmod rewrite
即可,接下来我们可以选择使用.htaccess方式(不推荐)配置或者直接在虚拟主机配置里写(推荐)
使用.htaccess需要先将/etc/apache2.conf中对应目录的AllowOverride设置为All,默认是None,然后将.htaccess写入网站根目录即可。
如:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
直接写在虚拟主机配置里更简单,在里面再套一层Directory指定下就行了
<IfModule mod_rewrite.c>
<Directory /srv/default>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</Directory>
</IfModule>
发表于 2020-01-11 22:53:04 并被添加「」标签,阅读量: 885 。
此处评论已关闭