Articles of .htaccess

Apache2:从另一个IP地址提供页面

当我尝试解释一些我想要演奏的htaccess体操时,请耐心等待。 我有这个域名: eamorr.somesite.com ,在192.168.100.100。 它按预期从我的public_html文件夹中提供页面。 现在,我想使用以下地址: www.somesite.com/eamorr 我没有控制www.somesite.com (192.168.99.99),但是我的系统pipe理员已经允许我把.htaccess文件放在eamorr文件夹中。 在任何情况下,我都不允许将其他东西放在eamorr文件夹中,原因我不知道。 我想要发生的是这样的: 用户导航到www.somesite.com/eamorr/some_page.php 用户从eamorr.somesite.com/some_page.php (即192.168.100.100/some_page.php)提供some_page.php 。 我希望这是尽可能无缝 – 即当用户浏览http://www.somesite.com/eamorr/some_page.php他们得到服务some_page.php,并忘记some_page即将到来的事实从不同的服务器(192.168.100.100) http://www.somesite.com/eamorr应始终在用户的浏览器的地址栏中,而不是http://eamorr.somesite.com – 我的老板“只是想这样”… 这可能使用.htaccess吗?

htaccess filesMatch排除

我在我的htaccess中有以下指令 <filesMatch "\.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml|html?)$"> FileETag None <ifModule mod_headers.c> Header unset ETag Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" Header set Pragma "no-cache" Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" </ifModule> </filesMatch> 我在几个月前从Web的某个地方复制了这个正则expression式。 它应该将这些头添加到任何没有这些扩展的HTTP响应。 但它不工作,它将它们添加到任何响应。 我还需要创build另一个指令,将Header set Cache-Control "max-age=3600, public"到具有它们的文件的响应中。 任何人都可以帮我做适当的fileMatch正则expression式吗?

如何使用Apache2将我的网站从非wwwredirect到WWW?

我目前正在设置我的个人网页。 我使用的是VPS,并且手动安装了Wordpress,而且一切似乎都奏效了。除非我去了我的网站的非www版本,否则它会出现一个未find的页面。 www.andrewrockefeller.com < – 工作 andrewrockefeller.com < – 不(我想把它redirect到www.andrewrockefeller.com) 我已经尝试添加RewriteEnginefunction到我的.htaccess,这是行不通的。 我也尝试添加添加到我的默认文件(这是apache2.conf从以下拉: <VirtualHost *> ServerName andrewrockefeller.com Redirect 301 / http://www.andrewrockefeller.com/ </VirtualHost> 看到有多less人能够得到上述的工作,是否有什么我可能会错过,让这个function? 感谢您的时间! 编辑:我的.htaccess文件如下所示: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 当我将?p = 1(丑陋链接)的设置更改为漂亮链接时,#Wordpress部分被自动创build。 任何build议的解决scheme,我已经在这里find我已经尝试并重新启动apache2,它没有奏效。

在虚拟主机上开始使用Apache mod_rewrite

嘿所以我试图使用Apache的mod_rewrite模块做一些基本的url在我的网站上的重新调整,所以他们变得更友善一点 基本上我有一个虚拟主机文件,看起来像这样 <VirtualHost *:80> ServerAdmin [email protected] ServerName mind-knowledge.com ServerAlias www.mind-knowledge.com DocumentRoot /var/www/tagmenu <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/tagmenu> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all <IfModule mod_rewrite.c> RewriteEngine on RewriteRule /video/([0-9]+) /PlayVideo/index.php?videoID=13424 </IfModule> </Directory> </VirtualHost> 现在从我的理解重写规则应该允许http://www.mind-knowledge.com/PlayVideo/13424/呈现为页面http://www.mind-knowledge.com/PlayVideo/index.php?videoID=13424是否正确? 目前我得到404,我已经运行sudo a2enmod rewrite和重新加载Apache。 任何人都可以帮我在我做错了什么或build议一些方法来解决问题,在此先感谢。 布兰登

在apache中使用.htaccess阻止特定string开始的某些请求

54.215.234.39 – – [02/Apr/2014:10:51:35 -0400] "GET /ProductSearch.aspx?qs=94307 HTTP/1.1" 404 11414 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" 我得到了很多这些请求从各种IP地址发送到我的Apache服务器。 我们曾经使用一个基于aspx的网站。 现在它是PHP。 这些请求是洪泛的服务器。 我怎样才能阻止其中包含string“ProductSearch.aspx”的所有请求?

.htaccess与多个rewriterules错误

我的.htaccess文件有点问题。 我最近获得了我的网站的SSL证书和https://正在完美工作。 但是,我想使用http://将任何stream量redirect到新的https://,但似乎与之前的规则有冲突。 这是我的.htaccess文件: # 404 Document Location ErrorDocument 404 /404.html # Turning Redirects On RewriteEngine On # Redirection from HTTP to HTTPS RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} # Redirection for filenames ending in .html RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.html [NC,L] 基本上,第一个redirect应该是将人从http://移动到https://,第二个是我以前不得不从域的末尾截断文件types的那个(例如,/ cv.html只是/ cv) 。 任何人都可以看到冲突,让我知道如何sorting? 谢谢!

通过安全的https可以保持活跃状态​​?

我一直在尝试启用Keep Alive在我的https网站上,没有运气。 可能吗? 有时我在testing页上看到它说“连接已closures”。 这是我现在在我的htaccess中似乎没有工作: Header set Connection keep-alive KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 Connection: Keep-Alive 有什么build议么?

我在用mod_rewrite做什么?

我意识到这个规范性的问题,并已经阅读,但我似乎无法在那里find一些东西。 这里是我的条件和规则删除www和强制https : RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L,NE] RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE] 我明白我想要匹配什么。 但是替代规则对我来说有点不清楚。 我不明白的是: 我的主机名(没有www. )如何以%1结尾? 为什么在应用第二条规则时查询string不会丢失? 第二个问题背后的原因是手册明确指出(由我强调): REQUEST_URI 请求的URI的path组件,例如“/index.html”。 这明显地排除了作为其自己的variablesQUERY_STRING可用的查询string 。

Apache:从.htaccess创build一个虚拟目录

我试图从我的webroot从我的服务器中的文件夹访问文件。 但是,该文件夹存在于我的webroot之外。 例如,我/mystuffs/myphoto.png http://example.com/mystuffs/myphoto.png那样访问/mystuffs/myphoto.png 。 我必须通过.htaccess来做到这一点。 我无法编辑http.conf或添加符号链接。 可以这样做吗? 如果是的话如何?

Apache的mod_rewrite无法正常工作

我通过它的Windows安装程序安装了Apache,然后安装了PHP和MySQL。 WordPress的工作正常,这意味着所需的基本设置工作正常。 但不知何故mod_rewriting是行不通的,即使我已经从httpd.conf取消了LoadModule ….. mod_rewrite注释。 每当我去我的localhost一些固定链接,我只是得到一个404(基于浏览器,而不是基于WordPress)。 请build议我需要做的改变。