htaccess,www redirect fake子目录

时间:2013-07-15 06:20:47

标签: .htaccess

常见问题,但对我来说太复杂了。

以下是我要满足的要求:

  1. 根网址http://example.com应重定向到http://www.example.com
  2. http://example.com/c/1234567890等所有网址都应重定向到http://www.example.com/c/1234567890(请注意“c”假子目录)
  3. 输入http://example.com/index.php时,应将其重定向到http://www.example.com(无斜杠)
  4. 最重要的是,我正在尝试但未能从root和javascript文件中的php文件直接访问安全子文件“xy”。
  5. 我经常搜索并尝试了很多重写条件和规则,但htaccess + regex对我来说只是来自另一个星球。 :/ 对不起,如果这是重复...

1 个答案:

答案 0 :(得分:2)

这些将位于文档根目录中的htaccess文件中。打开重写引擎

RewriteEngine On

对于1和2:如果根请求或请求/c/(something)

,则重定向到“www”
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(c/.+)?$ http://www.example.com%{REQUEST_URI} [L,R=301]

对于3:将/index.php的直接请求重定向到/

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php
RewriteRule ^ / [L,R=301]

For 4:禁止直接访问/xy/目录中的任何内容。

RewriteCond %{HTTP_REFERER} !http://(www\.)?example\.com/ [NC]
RewriteRule ^xy/ - [L,F]