温馨提示×

ubuntu apache如何开启伪静态

小樊
35
2026-10-19 19:36:48
栏目: 智能运维

在 Ubuntu 下使用 Apache 开启伪静态(URL Rewrite),通常按以下步骤操作:


一、开启 Apache 的 rewrite 模块

sudo a2enmod rewrite

开启后重启 Apache:

sudo systemctl restart apache2

二、修改 Apache 配置(关键)

1. 修改虚拟主机配置

编辑你的站点配置(示例):

sudo vim /etc/apache2/sites-available/000-default.conf

在 <VirtualHost *:80> 中添加或修改:

<Directory /var/www/html>
    AllowOverride All
</Directory>

⚠️ 如果是其他目录(如 /var/www/yourproject),对应修改即可。


2. 修改 Apache 主配置(如需要)

sudo vim /etc/apache2/apache2.conf

找到:

<Directory /var/www/>
    AllowOverride None

改为:

AllowOverride All

然后重启 Apache:

sudo systemctl restart apache2

三、编写 .htaccess 规则(伪静态)

在项目根目录创建 .htaccess:

sudo vim /var/www/html/.htaccess

示例(通用伪静态):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

四、常见程序示例

ThinkPHP

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

五、验证是否生效

访问:

http://你的IP/任意非真实路径

若指向 index.php 且不 404,说明伪静态已开启 ✅


如果你用的是 Nginx、特定框架(Laravel / TP / WP),可以告诉我,我给你更精确的配置。

0 踩