我想自动为所有php,htm,html页面添加X-Robots-Tag
标题,除/index.php
和forgot.php
之外。
这将涵盖所有这些:
<FilesMatch "\.(htm|html|php)$">
<IfModule mod_headers.c>
Header set X-Robots-Tag "noindex, nofollow"
</IfModule>
</FilesMatch>
但是如何从/index.php
指令中排除/forgot.php
和FilesMatch
?
我想要它做什么:
适用于所有.htm,.html,.php文件
排除/index.(htm|html|php)
,/forgot.(htm|html|php)
,但不是*/index.php
应该有效。
希望这是有道理的...我只是想将它从网站底部的那两个特定文件中排除。
更新 在tester上玩这个,但仍有一些问题:
(?!.*/(index.php|forgot))(^.*\.(php|htm|html)$)
这不包括www.mysite.com/folder/index.php
答案 0 :(得分:1)
我一直在看这个错误。这是我正在使用的:
# BEGIN noindex,nofollow on all but login and forgot page
<IfModule mod_env.c>
RewriteRule ^(index\.php|forgot\.php)$ - [E=exclude:1]
<FilesMatch "\.(php|html?)$">
<IfModule mod_headers.c>
Header set X-Robots-Tag "noindex, nofollow" env=!exclude
</IfModule>
</FilesMatch>
</IfModule>
答案 1 :(得分:-1)
你有什么尝试?你尝试过这样的事吗?
<FilesMatch "^(^index|^forgot)\.(htm|html|php)$">
只想指出正确的方向。我还没有尝试过,但它可能会有点贪婪并匹配index_example.php
之类的文件。不只是index.php
。
这些人对RegEx有很好的参考:http://www.regular-expressions.info/