linux下apache开启url重写的方法(详细说明)

  • Post category:Linux

以下是“Linux下Apache开启URL重写的方法”的完整使用攻略,包含两个示例说明。

步骤

  1. 安装Apache的mod_rewrite模块。在终中输入以下命令:

bash
sudo a2enmod rewrite

  1. 修改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

保存并关闭文件。

  1. 重启Apache服务。在终端中输入以下命令:

bash
sudo systemctl restart apache2

  1. 创建.htaccess文件。在终端中输入以下命令:

bash
sudo nano /var/www/html/.htaccess

在文件中输入以下内容:

RewriteEngine On
RewriteRule ^old-url$ /new-url [L,R=301]

其中,old-url是要重写的旧URL,new-url是要重写为的新URL。

保存并关闭文件。

  1. 测试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重写。