【问题标题】:htaccess hide extension for subdomain located in subdirectoryhtaccess 隐藏位于子目录中的子域的扩展名
【发布时间】:2015-07-27 23:16:51
【问题描述】:

我目前正在构建一个网站,并在子域中创建了一个开发环境。

现场环境: foobar.com

直播目录: /public_html

开发环境: dev.foobar.com

开发目录: /public_html/dev

虽然这不是最理想的设置,但在预算紧张的情况下,这是我能做到的最好的设置。我找到了一个简单的 htaccess 教程,它允许我删除 url 的索引部分并隐藏在我的实时环境中运行良好的文件扩展名:

SetEnv PHPRC /home/foobar/public_html/php.ini
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

不幸的是,当我访问我的开发环境时,这仍然指向实时的 php.ini 文件(我在 dev 子目录中有一个单独的 php.ini 文件),所以我决定制作一个指向的 htaccess 文件的副本dev 并将其放在 dev 子文件夹中。这会导致我的开发环境停止运行(只是全面的白屏),所以我猜它与重写代码有关。问题是我atrocious无法弄清楚语法。

是否像添加“开发者”一样简单?在某个地方,或者我什至可以以其他方式引用我的 dev php.ini 文件?

【问题讨论】:

  • 您能否通过注释掉 (i) PHPRC 行 (ii) 重写行来隔离问题?
  • PHPRC 行被注释掉后问题就消失了。

标签: php apache .htaccess url mod-rewrite


【解决方案1】:

要处理ini文件,只需创建另一个htaccess文件并将其添加到dev目录:

SetEnv PHPRC /home/foobar/public_html/dev/php.ini
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

不过,我不知道这是如何摆脱 www 的,但没有查看主机名或重定向的规则。

【讨论】:

  • 对不起,我的意思是隐藏 url 的索引部分。我将编辑 OP。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
  • 2011-07-15
  • 2019-04-01
  • 1970-01-01
  • 2014-03-29
  • 2017-09-24
相关资源
最近更新 更多