这个问题试图结合从以前的一些答案中获得的知识,所以不要标记为重复,除非答案满足即将给出的所有标准。
这就是我想做的:
我需要暂时将 .htaccess 访问者重定向到我的网站的克隆副本,以便我可以对现有网站进行修改。
因此,我有以下需求:
1. 所有用户请求 /(.*) 都应该重定向到子目录 /website/$1 (即如果有人请求 /index.php 它应该转到 /website/index.php)
2. 如果用户来自三个特定 ip 之一,则请求不应重定向,而应转到文件(即,如果我请求 /index.php,则应转到 /index.php)
3.所述重定向还应强制使用www(即带或不带www的请求,应重定向到www.example.com/website)
4. 所述重定向应该是某种临时重定向(正常站点只会关闭几天)
这是我当前的代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^/?$ "http\:\/\/www\.example\.com\/website\/" [R=301,L]
它满足标准 1,3 和 4。我只需要帮助调整它以不重定向三个特定的 IP 地址。
关于如何合并#2 有什么想法吗?
怎么样:
RewriteEngine On
# for #2
RewriteCond %{REMOTE_ADDR} !123\.45\.67\.89$
RewriteCond %{REMOTE_ADDR} !123\.45\.67\.90$
# for #1 and #3 and #4
RewriteCond %{REQUEST_URI} !^/website/ [NC]
RewriteRule ^(.*)$ http://www.example.com/website/$1 [R=302,L]
对于#2,你想替换123\.45\.67\.89
等与您不希望被重定向的 IP 地址。
对于#4,R=301
需要改为R=302
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)