1

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

以下是我试图满足的要求:

  1. 根 URL http://example.com应重定向到http://www.example.com
  2. 所有像http://example.com/c/1234567890这样的URL都应该重定向到http://www.example.com/c/1234567890(注意“c”假子目录)
  3. 输入http://example.com/index.php时,应将其重定向到http://www.example.com (没有尾部斜杠)
  4. 最重要的是,我正在尝试但未能保护子文件夹“xy”免受根目录和 javascript 文件中的 php 文件的直接访问。

我搜索了很多,尝试了很多重写条件和规则,但 htaccess+regex 对我来说只是来自另一个星球。:/ 抱歉,如果这是重复的……</p>

4

1 回答 1

2

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

RewriteEngine On

对于 1 和 2:如果根请求或请求重定向到“www”/c/(something)

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

For 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]
于 2013-07-15T08:22:12.140 回答