【问题标题】:Changing a file's URL without physically moving it在不实际移动文件的情况下更改文件的 URL
【发布时间】:2011-12-12 04:51:02
【问题描述】:

我有一个网站,运行 Linux + Apache。

我的根目录中有一个文件,比如说file.php。 我希望文件的 URL 为“domain.com/newdir/file.php”,但我不想实际创建 newdir 并将文件移到那里,因为更新许多链接会很麻烦在我的网站上。 有没有办法做到这一点,也就是说让新 URL 可以访问文件而不移动它?

谢谢。

【问题讨论】:

标签: apache url


【解决方案1】:

我能想到的四种可能的解决方案:

  1. 如果您的操作系统支持,请创建符号链接:

    mkdir /home/foo/htdocs/newdir
    ln -s /home/foo/htdocs/file.php home/foo/htdocs/newdir/file.php
    

    ...并确保 Apache 是 configured to follow them:

    Options FollowSymLinks
    
  2. 创建一个Alias 或AliasMatch(可能有点矫枉过正)

  3. 好老mod_rewrite:

    RewriteEngine One
    RewriteRule ^newdir/file\.php$ file.php [L]
    
  4. 丑陋:使用custom 404 error page 和检查$_SERVER['REQUEST_URI'] 的PHP 脚本。

我猜标准解决方案是#1 和#3。

【讨论】:

    【解决方案2】:

    在此站点:workwith.me,您可以找到有关 .htaccess 和 mod_rewrite 的信息。对于您的示例,您必须创建一个名为 .htaccess 的文件并将其放在根目录中。该文件应包含以下指令:

    RewriteEngine on
    RewriteRule ^newdir/file.php$ /file.php [L]
    

    您可以对每个要重命名的文件执行此操作。

    【讨论】:

      猜你喜欢
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      相关资源
      最近更新 更多