Articles of .htaccess

在.htaccess的RewriteMap问题

我需要将表单subpage.php?sid = 123的URLredirect到指定页面。 subpagemap.txt存在于根目录下,只包含以下由Unix行结尾分隔的\ n: 1 a 2 b 3 c .htaccess如下所示: Options +FollowSymlinks RewriteEngine On RewriteBase / RewriteMap subpagemap txt:subpagemap.txt RewriteCond %{THE_REQUEST} subpage\.php\?sid=([0-9]*) RewriteRule ^.*$ ${subpagemap:%1|home}? [R=301,L,NC] 问题是我得到一个500内部服务器错误。 当我注释掉.htaccess的第4行时,第5行工作正常,我redirect到默认映射 – / home,这表明它是映射文件,这是问题所在。 一旦我把RewriteMap行回来,我得到一个500内部服务器错误。 我没有访问服务器日志和RewriteLog似乎并没有工作。 我也尝试了下面的replace,一起来试图隔离这个问题: RewriteMap subpagemap txt:/subpagemap.txt RewriteCond %{THE_REQUEST} subpage\.php\?sid=([0-9]*) RewriteRule ^.*$ /${subpagemap:1|home} [R=301,L,NC] 任何想法可能是什么问题?

不要将规则处理到htaccess

什么是使所有文件的文本htaccess规则? 就像.php .py .pl,不pipe什么都不会比.txt不同,源代码应该出现在屏幕上而不执行。 谢谢。

通过.htaccess打开HTTPS

我目前有一个网站,我使用.htaccess为网站的某些部分打开https: RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} (evaluate/purchase*) RewriteRule (.*) https://mydomain.com%{REQUEST_URI} “评估”文件夹中有多个以“购买”开头的文件,所有这些文件都需要保护。 到目前为止,这工作。 我现在需要保护其他几个文件和目录,但是将它们添加为重写条件似乎不起作用: RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} (evaluate/purchase*) RewriteCond %{REQUEST_URI} (another_dir/file.php) RewriteCond %{REQUEST_URI} (please_secure_me.php) RewriteRule (.*) https://mydomain.com%{REQUEST_URI} 这不是踢任何500或任何东西,它只会保护在第一个条件的文件。 我究竟做错了什么?

阻止IP范围,而不使用.htaccess

我有一个WordPress博客,我使用NearlyFreeSpeech.net托pipe。 最近,俄罗斯人发现它,并发表评论垃圾邮件给我。 我不希望每天垃圾30多个西里尔文的评论,我也不想为这个带宽付费。 我做了一些研究,所有的评论者都来自RIPE授权的IP范围。 因为我的博客只能感兴趣的是生活在美国东南部的人,所以我认为快速和肮脏的解决scheme是使用.htaccess来拒绝来自62.0.0.0/8和80.0.0.0/8 – 91.0.0.0/8的连接。 我写了一个.htaccess文件来做这个,但是俄罗斯人还在接近! 根据NearlyFreeSpeech.net的常见问题 ,他们不能通过.htaccess支持IP阻塞(污垢便宜主机带价格)。 我可以阻止通过WordPress的IP(我认为)的意见,但我想不出一种方法来阻止IP范围或通配符。 有人知道任何其他的方式吗?

.htaccess文件?

可能重复: .htaccess文件? 一切你想知道Mod_Rewrite规则,但不敢问? 我正在寻找确切的代码来创build.htaccess文件用于redirect一个简单的静态页面。 期待积极的答复。 谢谢

Apache .htaccess 403一个目录

我有一个/ uploads目录我想阻止直接访问。 当然,我会把它放在web根目录之外,但是我真的在看一个快速的.htaccess修复程序。 有没有办法我可以403或404的目录?

.htaccess文件不再有效

出于某种原因, .htaccess文件突然停止工作。 我检查了apache2ctl -t -D DUMP_MODULES和rewrite_module确实加载了。 但是,将随机垃圾放在.htaccess文件中并不会在/var/log/apache2/error.log显示任何错误 – 因此文件根本不会被读取。 我从哪里开始寻找潜在的原因? 我在Ubuntu 10.10 64位上使用Apache2。

需要帮助.htaccess URL重写器

我正在尝试使用PHP / .htaccess做另一个SEO系统… 我需要应用以下规则: 必须捕捉所有不以扩展名结尾的url(www.foo.com – > catch | www.foo.com/catch-me – > catch | www.foo.com/dont-catch.me – >不要抓)。 必须捕捉以.php *(.php,.php4 …)结尾的所有URL(这是规则#1的例外)。 所有的规则只能应用于某些目录,而不能应用于其子目录(目前为/和/ framework)。 htaccess必须在GET值中发送input的URL,这样我才能在PHP中使用它。 任何mod重写向导可以帮助我? 编辑: 确定阅读后提出的build议,我想出了这个,但我认为它卡在一个循环…任何人都可以帮忙吗? <IfModule mod_rewrite.c> RewriteEngine On # 1 RewriteCond %{REQUEST_FILENAME} !\.[^/]+$ [OR] # 2 RewriteCond %{REQUEST_FILENAME} \.php.*$ # 4 RewriteRule ^(.*)$ http://localhost/seo-urls/seo-urls-mapper.php%3Frequested=$1?%{QUERY_STRING} </IfModule> 因为我想在我的圣诞假期期间完成这个,所以我要添加赏金:)感谢您的帮助和节日快乐!

Urlredirect使用.htaccess

我想在apache服务器上使用.htaccess添加1500个urlredirect。 这是一个坏主意吗? 会显着降低性能吗? 谢谢

.htaccess mod_rewrite不能正常工作

我在我的.htaccess文件中有这样的代码: RewriteRule /user/([a-zA-Z0-9]+) /iduser.php?username=$1 它应该使/user/oliolio请求iduser.php?username=oliolio ,但它不起作用。 🙁 你知道为什么吗?