以下是“Linux下Apache开启URL重写的方法”的完整使用攻略,包含两个示例说明。
步骤
- 安装Apache的mod_rewrite模块。在终中输入以下命令:
bash
sudo a2enmod rewrite
- 修改Apache的配置文件。在终端中输入以下命令:
bash
sudo nano /etc/apache2/sites-available/000-default.conf
在文件中找到以下行:
DocumentRoot /var/www/html
<Directory /var/www/html>
在这两行间添加以下内容:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
保存并关闭文件。
- 重启Apache服务。在终端中输入以下命令:
bash
sudo systemctl restart apache2
- 创建.htaccess文件。在终端中输入以下命令:
bash
sudo nano /var/www/html/.htaccess
在文件中输入以下内容:
RewriteEngine On
RewriteRule ^old-url$ /new-url [L,R=301]
其中,old-url
是要重写的旧URL,new-url
是要重写为的新URL。
保存并关闭文件。
- 测试URL重写。在浏览器中输入以下URL:
http://localhost/old-url
如果看到重定向到新URL,则表示URL重写已成功。
示例1:将旧URL重写为新URL
假设的网站上有一个旧的URL /about-us.html
,您想将其重写为新的URL /about
。在终端中输入以下命令:
sudo nano /var/www/html/.htaccess
在文件中输入以下内容:
RewriteEngine On
RewriteRule ^about$ /about-us.html [L,R=301]
保存并关闭文件。在浏览器中输入以下URL:
http://localhost/about
如果看到重定向到/about-us.html
,则表示URL重写成功。
示例2:将动态URL重写为静态URL
假设您的网站上有一个动态URL /product.php?id=123
,您想将其重写为静态URL /product/123
。在终端中输入以下命令:
sudo nano /var/www/html/.htaccess
在文件中输入以下内容:
RewriteEngine On
RewriteRule ^product/([0-9]+)$ /product.php?id=$1 [L]
保存并关闭文件。在浏览器中输入以下URL:
http://localhost/product/123
如果看到正确的页面,则表示URL重写已成功。
希望这些步骤和示例能帮助您在Linux下开启URL重写。