使用.htaccess修复从根到子文件夹的绝对路径

时间:2018-03-25 06:01:35

标签: php html css .htaccess

网站目前已从生产服务器移至开发服务器。因此,之前的设置为http://production.com/,现在开发设置为http://development.com/site/

我的问题是,几乎所有资产都指向绝对路径,如js,css和图像。

示例:

JS:<script src="/assets/path/to/js/script.js"></script>

CSS:<link rel="stylesheet" type="text/css" href="/assets/path/to/css/style.css" />

图片:<img src="/assets/path/to/images/image.jpg">

所有这些资产都不会加载,因为它都指向http://development/assets/。它应该是http://development/site/assets/

有没有办法使用htaccess解决这个问题?我不想绕过网站并改变所有相对路径,因为这将是一项重大工作。我只是想使用一些简单的东西,这样当它回到生产时它不再在子文件夹中时,只需更改htaccess文件就可以更容易地进行迁移。

P.S。 htaccess应该在子文件夹/ site /中,因为我不想将它放在开发根目录下,因为它会影响开发根目录中的其他子文件夹。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下其中一项:

  1. 在.htaccess文件中创建重写规则:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/site/
    RewriteRule ^/(.*)$ /site/$1 [QSA,L]
    
  2. 使用<base> HTML标记将root application URL设置为网页的基本网址。