Articles of .htaccess

使用Apache中的X-Forwarded-For头来限制访问

我试图设置访问使用.htaccess规则的目录。 显然,由于提供者(SourceForge.net)设置的方式,远程IP始终是localhost 。 我注意到在X-Forwarded-For头中设置了正确的IP。 我怎样才能允许只访问一些基于X-Forwarded-For头的已知主机?

mod_ReWrite删除一部分的URL

有人错误地链接到我的一些url,导致谷歌网站pipe理员工具中的404错误。 这是一个例子 链接url: http://www.example.com/foo-%E2%80%8Bbar.html : http://www.example.com/foo-%E2%80%8Bbar.html 正确的url: http://www.example.com/foor-bar.html : http://www.example.com/foor-bar.html 我想301将这种不正确链接的任何实例redirect到正确的URL。 我已经尝试了以下,但它产生404错误网站广泛。 Options +FollowSymLinks RewriteEngine on RewriteRule ^foo-(.*)bar\.html$ http://www.example.com/foo-bar\.html? [L,R=301] 任何人都可以让我知道我做错了什么?

为什么这个服务器redirect到另一个页面?

我正在为客户build立一个网站。 有一个我不知道的原因www.domain.com转发到www.domain.com/directory/home.html。 如果我inputwww.domain.com/index.php它工作正常。 我检查.htaccess那里没有什么,所以我设置索引index.php在每个根目录以外的目录中工作正常。 我有root权限,并且已经检查了httpd.conf(在VI中search了我被redirect到的文档)以及其他所有我能想到的东西。 我应该在哪里看下? 服务器是运行CentOS 5.5的VPS,具有多个域,每个域具有用于根访问的CPanel WHM 11和安装的CPanel X.

你能在我的.htaccess中看到错误吗?

好吧,经过许多search,试用和错误,我已经设法创build一个.htaccess做我想做的事情(请参阅代码块后的解释和问题): <IfModule mod_rewrite.c> RewriteEngine On #1 If the requested file is not url-mapper.php (to avoid .htaccess loop) RewriteCond %{REQUEST_FILENAME} (?<!url-mapper\.php)$ #2 If the requested URI does not end with an extension OR if the URI ends with .php* RewriteCond %{REQUEST_URI} !\.(.*) [OR] RewriteCond %{REQUEST_URI} \.php.*$ [NC] #3 If the requested URI is not in an […]

AddHandler语法

这是我的.htaccess文件 – 目前非常有限,因为它是一个testing站点: HTTP://本地主机/ MYDOMAIN / testfile的 AddHandler application/x-httpd-php .$ 这个语法是否正确,以便任何文件可以被扩展,并且仍然以PHP的forms运行,理论上? 我对此很新,并希望得到帮助。

Mod_rewrite问题 – 这个文件的代码是做什么的?

我在这里研究.htaccess,并决定尝试我find的代码: RewriteRule ^([^\.]+)$ $1 [T=application/x-httpd-php-source] 这到底是做什么的? 我知道这是一个重写规则,但[T =]表示什么? 我知道R是redirect的,但是这对我来说是新的,所以知道这是什么是有用的。 另外,RewriteRule之后的regex符号表示什么? 我正在刷新我的知识,意识到我需要良好的.htaccess技能为我的项目! 我了解一些mod_rewrite和.htaccess并自己研究过,但这个是相当新的,所以所有的帮助表示赞赏。 谢谢

htaccess unhungry正则expression式导致500错误

在我的本地WAMP服务器.htaccess中的以下行不会造成任何问题,并执行我想要的: RewriteEngine On Options FollowSymLinks RewriteRule ^foo/([0-9]+)/[a-z0-9-]*?$ foo.php?id=$1 [L] 当我上传到我的托pipe(LAMP)网站时,它会导致一个500错误(不pipe重写小册子是否进入播放)。 经过多less修补之后,修复是去除unhungry / lazy修饰符的正则expression式,即: RewriteEngine On Options FollowSymLinks RewriteRule ^foo/([0-9]+)/[a-z0-9-]*$ foo.php?id=$1 [L] 现在,在我提出的情况下,可以说正则expression式的差异是否有用,但在我看来,第一个例子是有效的,而且它在我的本地WAMP服务器上工作。 那么有没有人有清楚的想法,为什么我得到了500错误?

如何从Apache限制指令中排除文件

我们目前有一个.htaccess文件,看起来像 <Limit GET POST> order deny, allow deny from all allow from localhost allow from … </Limit> 这适用于整个目录。 我想从这些规则中排除目录中的一个文件,以便它可以从整个Internet访问。 有任何想法吗?

重写规则.htaccess不工作的PHP文件

经过几次尝试,我发现了这一点 RewriteEngine On RewriteRule .* index.php 没有工作,但 RewriteEngine On RewriteRule .* index.html 正在工作,可能的原因是什么? 我该如何解决?

通过phpparsing器传递一个特定的文件

有谁知道是否有可能告诉Apache通过PHPparsing器传递一个特定的文件? 我想尝试使用“可执行映像”,如此处所述(youtube) 。 我知道 AddType application/x-httpd-php .jpeg 但是只有特定的文件可以吗?