使用.htaccess限制对子域的直接访问

时间:2015-07-17 09:46:49

标签: apache .htaccess mod-rewrite

目标是限制对子域(addon.example.com)或其下的网址(addon.example.com/anyurl)的任何直接访问。应该指向404页面。

所需要的是:

addon.example.com --> example.com/404.html 
addon.example.com/anyurl --> example.com/404.html 
example.com/anyurl --> example.com/anyurl

我在子域(addon domain folder root)目录的.htaccess文件中使用以下代码。

如果请求是addon.example.com,它可以按预期使用404 但如果请求是addon.example.com/anyurl

,仍然会指示没有404

感谢代码的任何替代或调整:)

RewriteEngine ON
RewriteCond %{HTTP_HOST} ^(www\.)?addon\.example\.com [NC]
RewriteRule (.*) http://example.com/404.php [R=404,L]

1 个答案:

答案 0 :(得分:0)

这是我选择解决问题的方法。它给出了预期......

addon.example.com --> example.com/404.html 
addon.example.com/anyurl --> example.com/404.html 
example.com/anyurl --> example.com/anyurl
addon.com/anyurl --> addon.com/anyurl
在插件域的根目录中使用的

.htaccess代码

RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} !addon\.com$ [OR]
RewriteCond %{HTTP_HOST} ^addon\.example\.com$
RewriteRule [addon]?(.*) http://example.com/404.html$1 [R=404,L]

如果您将cpanel中的许多域作为插件域托管,并且希望避免将插件显示为主域的子域,则这很方便。对于搜索引擎优化以及如果你想让每个插件在网址中显示为没有任何相关性的话都是好的。

仍然感谢任何人为此问题分享改进/替代/高效.htaccess代码。

相关问题