Articles of .htaccess

是否可以在.htaccess中的php_value语句中引用环境variables?

我试图在.htaccess文件中的php_value语句中访问一个环境variables。 以下是一些示例用法: php_value include_path“。:/ usr / lib / php:[b]%{My_Environment_Variable} [/ b]” 要么 php_value auto_prepend_file%{env:MY_BASE_PATH} /lib/classes/SomeClass.php 我可以在.htaccess中设置环境variables,如果这样做,它恰好是唯一的方法来做到这一点。 否则,能够引用设置在.htaccess之外的环境variables将是非常好的。

mod_rewrite之后,服务器上的环境variables不可用,但在本地工作

我正在使用SSI在一个网站上工作,在HTML页面上设置一个variables,然后在mod_rewrite重写之后,该variables将被脚本拾取。 这工作在我的本地设置,但由于某种原因,它不在生产服务器(都是Apache 2.2.22)。 这里是相关的位: perl脚本: my $working = ($ENV{'HTTP_my_var'} || $ENV{'REDIRECT_HTTP_my_var'}) || "NO"; print "Content-type: text/html\n\n"; print "is it working? <b>$working</b>"; .htaccess相关行 RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ /$1.html [L] RewriteRule ^my_tst$ /cgi-bin/my_tst.cgi [L] HTML文件: <!–#set var="HTTP_my_var" value="YES" –> <!–#include virtual="/cgi-bin/my_tst.cgi" –> <br> <!–#include virtual="/my_tst" –> 这是我的本地机器上的结果: 它在工作吗? 是 它在工作吗? 是 但是在生产服务器上: 它在工作吗? […]

有.htaccessdynamic获取RewriteBase

根据我安装我的文件集的位置,似乎RewriteBase似乎必须相应地改变,如果我安装在一个子目录而不是在www的根。 对于我的configuration文件,我使用类似下面的内容来允许pipe理员更改设置以适应其部署环境。 $yaml = file_exists($yamldir) ? Spyc::YAMLLoad($yamldir) : array(); $default = array( 'hostname' => 'mydomain.com', 'base_uri' => '/sub/', 'mysql_host' => 'localhost', 'mysql_username' => 'root', 'mysql_password' => '', 'schema_name' => 'schema1', 'table_name' => 'table1' ); $config = array_merge($default, $yaml); config.yml然后SVN或git被忽略,以允许最大的灵活性。 这似乎是最好的办法。 是否有.htaccess文件的等价物,以读取(或更好地parsing)可能存在或可能不存在的configuration文件? 背景信息 在这种情况下,我的.htaccess需求非常简单: RewriteEngine On RewriteBase /sub RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L] 如果我使用Rails风格的公共目录,而不是有效地“打开”www根,那可能是最好的,但是我可以根据需要来处理。 […]

如何在htaccess中redirect很多redirect?

Q1。 是否有可能进一步优化 / 压缩以下规则,从而使整个redirect更快 ,更容易维护? 有大约二十这些领域! 你得到我的问题的照片! 非常感谢任何和所有的线索+1 RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{HTTP_HOST} ^website.com$ RewriteRule ^$ en/home [R=301] RewriteCond %{HTTP_HOST} ^website.de$ RewriteRule ^$ de/home [R=301] RewriteCond %{HTTP_HOST} ^website.fr$ RewriteRule ^$ fr/home [R=301] 等等等等 Q2。 我应该把这些规则放在一起,比如把[C]放在最后? Q3。 这是从search引擎的angular度redirect的正确方式?

.htaccess帮助?

首先,对于无编码技能的令人震惊的水平感到抱歉。 那么可能最好的是我首先描述我想要的东西。 我有2个域名,链接到一个托pipe包(是的,廉价的屁股选项,但无论如何)。 其中之一 – 下面代码的原始域名是基于我的虚拟主机的根目录,另一个是基于/ getfilm / 以下是我的.htaccess文件之前,我得到这个新的领域,并设置它。 ErrorDocument 404 /404.html RewriteEngine On RewriteCond %{HTTP_HOST} !^rowancavanagh.com$ [NC] RewriteRule ^(.*)$ http://rowancavanagh.com/$1 [L,R=301] <ifmodule mod_rewrite.c> RewriteCond %{REQUEST_URI} !^/favicon\.ico [NC] RewriteCond %{REQUEST_URI} favicon\.ico [NC] RewriteRule (.*) http://rowancavanagh.com/favicon.ico [R=301,L] </ifmodule> 现在显然这迫使我的新域名“getfilm.co.uk”,改为“rowancavanagh.com”。 我显然不想要。 我不知道从哪里开始,但是我可能会重复所有这些操作来同时处理根目录中的“rowancavanagh.com”和/ getfilm /中根目录之上的“getfilm.co.uk”。

htaccess语言特定域的redirect/重写规则

我有基于grav-site.pl CMS的多语言站点和两个域: grav-site.pl和grav-site.com 我想redirect: grav-site.pl/en – > grav-site.com grav-site.com/pl – > grav-site.pl 在grav的基础上,我发现解决scheme应该工作,所以我把这个添加到我的.htaccess ## Begin – Multilanguage Setup RewriteRule ^en/?$ "http://grav-site.com" [R=301,L] RewriteRule ^pl/?$ "http://grav-site.pl" [R=301,L] # handle sub pages, exclude admin path RewriteCond %{REQUEST_URI} !(admin) [NC] RewriteRule ^en/(.*)$ "http://grav-site.com/$1" [R=301,L] RewriteCond %{REQUEST_URI} !(admin) [NC] RewriteRule ^pl/(.*)$ "http://grav-site.pl/$1" [R=301,L] # End – Multilanguage Setup 但是当我去http://grav-site.com/pl […]

如何防止与htaccess的外部直接链接到文件?

我在我的文件服务器的public_html文件夹的htaccess中有这个: RewriteEngine On RewriteBase / ReWriteCond %{REQUEST_URI} ^/files/* RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite.net/.*$ [NC] RewriteRule \.(gif|png|jpg|jar|sis|mp3|thm)$ – [F] 我在mysite.net/files目录下有很多的文件夹和文件,我想阻止它从mysite.net以外的站点直接下载。 但是,尽pipe我知道.htaccess文件已启用,但上述规则似乎无法正常工作。 在某些情况下,它只会阻止图像,而不会阻止文件。 请告诉我这个脚本有什么问题,或者如果我可以使用任何其他的指令来防止外部网站不断地篡改我的文件。 谢谢

阻止城市访问我的网站

我知道可以阻止一个国家​​使用apache,.htaccess查看我的网站。 我想知道是否有可能阻止来自特定城市(即德克萨斯州花冢市)的每个人访问我的网站。 如果这是不行的话,怎么样阻止所有的德州? 编辑 – 为什么。 有一个竞争对手公司,在花冢基地。 我希望他们认为我的网站已closures/脱机。 咳嗽脏..我知道 第二编辑 – 我这样做是因为他们倾向于窃取我的工作,以某种方式改变它,然后把它叫做自己的。 他们非常善于这样做,我不能求助于法律。

每个目录中的.htaccess在nginx中

我是nginx的新手,之前我一直在使用apache。 在apache中,每个目录都可以有一个.htaccess来定位目录和它的子目录。 这是可能的nginx? 如果是这样,我该怎么做? 非常感谢你!

自动redirect到子目录,并删除www

我想做两件事:将http://www.example.com (与www )redirect到http://example.com/fr (不含www ,AND子目录) 当然,我也希望http://example.comredirect到http://example.com/fr 。 我看到这个解决scheme: RewriteCond %{HTTP_HOST} ^(www\.)?example.com$ [NC] RewriteCond %{REQUEST_URI} !^/fr/.*$ RewriteRule ^(.*)$ /fr/$1 [L,R=301,NC] 但它会像疯了一样减慢我的网站(以后不可能加载页面)。我应该在上面的代码中修复什么? 这是我完整的代码 Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ – [L] RewriteRule ^index\.php$ – [L] RewriteCond %{HTTP_HOST} ^(www\.)?beastof\.com$ [NC] RewriteCond %{REQUEST_URI} /(.*) RewriteCond %{REQUEST_FILENAME} !-f RewriteRule !^fr(/|$) /fr/%1 [R=301,L] RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ […]