【问题标题】:Automatically rewriting URLs using .htaccess?使用 .htaccess 自动重写 URL?
【发布时间】:2026-02-03 22:00:01
【问题描述】:

我正在尝试自动使用.htaccess 将 URL 重写为虚拟目录。

我的规则正在运行,但不是自动运行的,例如,我在根目录中有一个名为 login.php 的文件,我想重写到一个虚拟目录,就像这样 example.com/login/ 而不是 example.com/login.php,以下规则适用于此目的。

RewriteOptions inherit
RewriteEngine On
RewriteBase /

RewriteRule ^login/$ ./login.php [L,NC]

但是,这不会自动重写login.php 文件。我需要每当用户请求 login.php 文件时,规则 自动 将用户重定向到 example.com/login/ 并且仍然提供相同的内容。这是如何实现的?

【问题讨论】:

    标签: php apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    您需要为此重定向:

    ewriteOptions inherit
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{THE_REQUEST} /login\.php[\s?] [NC]
    RewriteRule ^ /login/ [R=301,L]
    
    RewriteRule login/$ ./login.php [L,NC]
    

    【讨论】: