【问题标题】:How to modify the $base_url, $live_site with .htaccess file?如何使用 .htaccess 文件修改 $base_url、$live_site?
【发布时间】:2013-12-03 10:41:02
【问题描述】:

我的问题是我买了一个糟糕的主机,现在我无法设置自己的配置。 我需要通过 .htaccess 文件来完成。 这是我设法做的:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/Project/web/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /Project/web/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ Project/web/app.php [L]

我知道这不适用于像我这样的一些网站软件。我还需要修改其中的 $base_url、$live_site 或其他配置设置以完成该过程。我的问题很热,要让它发挥作用吗?如何编辑此配置设置?

当我进入我的域时,我从我选择的子目录开始,以便清楚地了解此设置。但是当我尝试转到另一个页面时,它返回 404 错误。

【问题讨论】:

    标签: .htaccess symfony subdirectory base-url


    【解决方案1】:

    我通过在 public 中直接设置 .htaccess 文件来做到这一点:

    SetEnv PHP_VER 5_4
    SetEnv REGISTER_GLOBALS 0
    <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteBase /Project/web
    
       RewriteCond %{REQUEST_URI} \.(css|gif|ico|jpg|js|png|swf|txt|pdf|doc|docx|mp3|svg)$
       RewriteRule ^(.*)$ $1 [QSA,L]
    
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteRule ^(.*)$ Project/web/app.php/$1 [QSA,L]
    </IfModule>
    

    在想要全部重定向的子目录中,我设置了 .htaccess 文件,如下所示:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app.php [QSA,L]
    </IfModule>
    

    通过这样做,我不必担心更改所有路由并修改 $base_url 或 $live_site。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      • 2014-03-19
      • 1970-01-01
      相关资源
      最近更新 更多