要将Apache ModRewrite规则用作前端控制器和进行301永久重定向,您可以按照以下步骤进行操作:
sudo a2enmod rewrite
sudo service apache2 restart
/etc/apache2/apache2.conf
或/etc/httpd/httpd.conf
)中启用AllowOverride
指令,以允许.htaccess文件覆盖规则。找到以下行并确保其设置为All
:
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
.htaccess
的文件,并将以下代码添加到该文件中:RewriteEngine On
RewriteBase /
# 前端控制器规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
# 301永久重定向规则
RewriteRule ^old-page$ /new-page [R=301,L]
上述代码中的index.php
是您的前端控制器文件,您可以根据您的实际情况进行更改。old-page
是您要重定向的旧页面路径,/new-page
是重定向到的新页面路径。
sudo service apache2 restart
现在,当访问old-page
时,将自动进行301永久重定向到/new-page
。对于其他未找到文件或目录的请求,将使用前端控制器将请求重定向到index.php
。