Articles of .htaccess

.htaccess 301redirectPLUS URL重写

前提: 我的摄影网站是www.domain.com,我的博客是在www.domain.com/blog上。 一切都在自我托pipe的WordPress平台上。 在我的索引页上,我有我的照片画廊。 我现在想用第三方服务在www.galleries.com/me上主持我的画廊。 我想实现的是: 当有人访问www.domain.com它被301redirect到www.galleries.com/me,但保持我的域在URL地址中可见 当有人访问www.domain.com/blog时,一切照常进行,没有任何变化。 我以为: 美国redirect规则加上我的.htaccess的重写规则 问题: 可能吗? 我该怎么做? 它如何影响search引擎优化? 我试图让它尽可能简单:)谢谢

Apache基本的HTTPauthentication不起作用

尝试使用Apache设置基本的HTTP身份validation,但它不起作用。 我定期得到目录列表和文件,不需要validation。 我尝试重新启动httpd和浏览器caching。 我在/ var / log / httpd / error_log中找不到任何相关条目。 有任何想法吗? htpasswd的: # htpasswd -c /usr/local/share/passwords username $ ls -l /usr/local/share/passwords -rw-r–r– 1 root root 44 Nov 23 13:29 /usr/local/share/passwords 的.htaccess: $ cat /srv/http/test/.htaccess AuthType Basic AuthName "Some Stuff" AuthUserFile /usr/local/share/passwords Require user username 目录: $ ls -la /srv/http/test/ total 16 drwxr-xr-x 2 root […]

.htaccess错误文档的困扰

我目前在我的.htaccess文件中定义了一个ErrorDocument指令: ErrorDocument 404 /site/error.php 现在,如果我去我的网站上这样一个不存在的页面,它工作正常: http://mysite.com/p 但是,如果我尝试去一个不存在的目录,该指令不起作用 http://mysite.com/random/hello 试图find该文件: http://mysite.com/random/site/error.php 这当然不存在。 我在网上search和所有来源表明上面的第二个例子应该去正确的文件(因为领导/在指令使它相对于Web根),但是这显然不是这种情况。 我在Ubuntu上运行,谢谢!

.htaccessredirect适用于IP,但不适用于域名

我有以下.htaccess文件: RewriteEngine on RewriteBase / RewriteRule ^(/?)dir/?$ $1dir/subdir [L] RewriteRule ^(/?)subdir2/?$ $1dir/subdir/subdir2 [L] redirect工作正常,如果我键入域的IP,但在域名/目录input根本不redirect我,而是显示目录的内容。 另一个问题:正如我所说的,redirectIP工作正常。 不过,虽然没有设置“R”标志,但是url地址会改变。 IP / dir变成IP / dir / subdir。 为什么? 编辑(11:20 GMT + 1):不太确定是否有任何相关性,但在今天之前,服务器没有一个域。 我刚刚买了一个域名,并设置了所有指向服务器的名称服务器。 由于我可以访问该页面,它显示了/ dir文件夹的内容,我假设我没有搞砸任何东西。 编辑(12:51 GMT + 1):输出从apachectl -S: apache2: Could not reliably determine the server's fully qualified domain name, using 0.0.10.188 for ServerName VirtualHost configuration: wildcard NameVirtualHosts […]

Apache deflate忽略javascript

我在我的htaccess中设置了deflate。 一切工作正常, 除了某些原因JavaScript文件被忽略。 我尝试了所有可能的AddOutputFilterByType DEFLATE与多个MIMEtypes的组合,但都没有效果。 它不是一个caching的问题,它实际上让我相信这是工作,直到我回家了一个双重检查。 目前我正在使用这个工具 ,网站在这里 。 你可以清楚地看到,除了js文件之外,所有东西都被压缩了(不像从google和css文件中的js,缺less正确的Content-Encoding)。 这是我目前的htaccess文件: <FilesMatch "\.(tpl|ini|log)"> Order deny,allow Deny from all </FilesMatch> <FilesMatch "\.(js|css)$"> SetOutputFilter DEFLATE # Netscape 4.x has some problems… BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine BrowserMatch \bMSIE !no-gzip !gzip-only-text/html […]

<IfModule>文件名与模块ID

IfModule上的Apache文档声明 模块名称参数是模块在编译时的文件名。 例如, mod_rewrite.c 。 … 但是,Apache 2.2似乎也接受了模块ID。 所以,这两个工作: <IfModule mod_filter.c> 和 <IfModule filter_module> 所有的Apache版本都是这样吗? 第一个版本应该优先还是第二个产生任何好处? 我问,因为HTML5样板使用模块ID而不是文件名

HTTP 400:没有主机与Apache服务器上MS Office文件的服务器名称匹配

背景 我们只是将我们的网站迁移到新的服务器上。 旧的和新的服务器都运行/运行CentOS 5.5和Apache 1.3.33。 但是,迁移后,我们无法从我们网站上托pipe的Microsoft Office系列产品下载任何文件。 虽然FTP传输成功,但HTTP请求失败。 以下是我在Firebug中看到的消息: 400 No Host matches server name dairymgt.info 尝试解决scheme 我和客户服务人员交谈过,他们build议我将相应的MIMEtypes添加到.htaccess文件中。 我继续前进,并将以下内容(如此处所示 )添加到存在于我们网站根目录的.htaccess文件中: AddType application/vnd.ms-word.document.macroEnabled.12 docm AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm AddType application/vnd.openxmlformats-officedocument.presentationml.template potx AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 […]

.php文件请参阅Apache环境variables,.html文件不要

考虑这个环境: $ cat .htaccess AddType application/x-httpd-php .php .html SetEnv Foo Bar $ cat test.php <?php echo "Hello: "; echo $_SERVER['Foo']; echo $_ENV['Foo']; echo getenv('Foo'); ?> $ cat test.html <?php echo "Hello: "; echo $_SERVER['Foo']; echo $_ENV['Foo']; echo getenv('Foo'); ?> 这是test.php的输出: Hello BarBarBar 这是test.html的输出: Hello 为什么会这样? 我该如何解决? 这里是phpinfo.php : http : //pastebin.com/rgq7up61 这里是phpinfo.html : http : […]

htaccess:取决于域名的多个redirect

我有一个服务器和几个域和两个网页。 不知道如何做到以下几点: A.com -> root\ www.A.com -> root\ B.com -> root\ www.B.com -> root\ C.com -> root\folder1\ www.C.com -> root\folder1\ 顺便一提。 htaccess中使用的“和”逻辑运算符是什么? 我发现'或'是[OR],但[AND]似乎不起作用。 什么是语言htaccess是写在:)? UPDATE 我在这个问题上犯了一个错误。 这是我真正想要做的。 DNS设置为域A.com指向服务器的根文件夹。 现在我想设置下面的redirect: 除C.com和D.com以外的任何域名都会redirect(301)到www.A.com。 A.com无论如何指向服务器的根文件夹,并在DNS中设置。 域www.C.com指向服务器上的文件夹'folder1'。 可以在htaccess中设置吗? 现在域名C.com,www.D.com和D.comredirect到www.C.com。

使用正则expression式将一个或多个URLredirect到一个

在我的网站上,我有一些可以通过两个url访问的页面: …/页 … /参数/页 为了优化search引擎的网站,我必须redirect所有… /网页url… /参数/网页url。 我怎样才能达到修改文件.htaccess?