在 CentOS 上配置 Apache 重写规则,通常需要使用 mod_rewrite
模块。以下是配置重写规则的步骤:
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
mod_rewrite
模块。运行以下命令启用模块:sudo systemctl enable --now httpd-mod_rewrite
/etc/httpd/conf/httpd.conf
。如果需要为特定虚拟主机配置重写规则,请找到相应的虚拟主机配置文件,例如 /etc/httpd/conf.d/yourdomain.conf
。sudo vi /etc/httpd/conf/httpd.conf
或者
sudo vi /etc/httpd/conf.d/yourdomain.conf
<Directory>
部分,该部分定义了允许重写规则的目录。如果没有这个部分,请添加一个。例如,要允许对网站根目录应用重写规则,请添加以下内容:<Directory "/var/www/html">
AllowOverride All
</Directory>
.htaccess
文件。例如,要为网站根目录创建 .htaccess
文件,请运行以下命令:sudo vi /var/www/html/.htaccess
.htaccess
文件中添加重写规则。以下是一个简单的示例,将所有请求重定向到 index.php
文件:RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
保存并关闭 .htaccess
文件。
重新加载 Apache 服务以应用更改:
sudo systemctl reload httpd
现在,Apache 已根据您在 .htaccess
文件中定义的重写规则处理请求。如果需要调试重写规则,请查看 Apache 错误日志,通常位于 /var/log/httpd/error_log
。