.htaccess只有一个IP的RewriteRule(带有正则表达式子文件夹)

时间:2016-03-09 09:45:17

标签: regex apache .htaccess mod-rewrite url-rewriting

我试图重写请求,例如:

  • / 98fj3JHgf-83J条/

将该文件夹的index.html显示为:

  • /98fj3JHgf-83j/rewritten.html

但仅适用于某个IP地址。我宁愿将.htaccess放在网站根目录中并忘掉它,因为子文件夹可以是任何东西(不是什么东西 - 随机字符串的大写和小写字母,数字和破折号)。

我刚刚获得的作品,但我必须将.htaccess放在每个子文件夹中: -

RewriteEngine On

# requests from 12.34.56.78 get rewritten.html instead of index.html
RewriteCond %{REMOTE_ADDR} ^12\.34\.56\.78$
RewriteRule ^index.html$ rewritten.html

这不太理想。根中的单个.htaccess会很棒,所以我在上面的某个地方猜一点正则表达式?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

试试这个:

RewriteEngine On

# requests from 12.34.56.78 get rewritten.html instead of index.html
RewriteCond %{REMOTE_ADDR} ^12\.34\.56\.78$
RewriteRule ^([A-Za-z0-9-/]*)?index.html$ /$1rewritten.html