常见问题,但对我来说太复杂了。
以下是我要满足的要求:
我经常搜索并尝试了很多重写条件和规则,但htaccess + regex对我来说只是来自另一个星球。 :/ 对不起,如果这是重复...
答案 0 :(得分:2)
这些将位于文档根目录中的htaccess文件中。打开重写引擎
RewriteEngine On
对于1和2:如果根请求或请求/c/(something)
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]