我正在纠结于. htaccess ...
我想重定向我的旧网站这样:一个月一个月到一个月一个月一个月一个月一个月一个月一个月一个月二个月到一个月三个月一个月一个月四个月到一个月五个月等等。
但是我得到的是old.site
到new.site
old.site/a/
到new.site
old.site/b/
到new.site
等等...
先谢谢你。
- 编辑**
两个域指向不同的服务器。
这是完整的. htaccess
# # av:php5-engine
AddHandler av-php8 .php
# # av:Toolbar
SetEnv AV_TOOLBAR 0
# av:AntiHotlink
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} \.(gif|jpe?g|png)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([a-z0-9\-\.]*)distopia\.altervista\.org
RewriteCond %{REQUEST_URI} !^\/_altervista_ht\/
RewriteCond %{HTTP_REFERER} !^http://([a-z0-9\-\.]+)google\.
RewriteRule .*$ http://hl.altervista.org/split.php?http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# AntiHotlink
# av:PHP-upload
php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_input_time 300
# PHP-upload
RewriteEngine On
RewriteRule ^(.*)$ https://distopia-eva.org/$1 [R=301]
1条答案
按热度按时间sycxhyv71#
如果有问题的规则是你发布的
.htaccess
文件末尾的规则,那么它似乎没有任何问题。问题似乎在其他地方。你应该检查浏览器开发工具,看看到底是什么重定向你正在看的清除浏览器(和任何中间)缓存,因为错误的301(永久)重定向会被浏览器永久缓存。但是,如果两个域指向不同的服务器,正如您在更新中所述,并且您要以相同的方式重定向所有内容,那么您应该删除
.htaccess
文件中的所有内容,而只使用一个简单的(mod_alias)Redirect
指令。Redirect
指令使用简单的前缀匹配,匹配后的所有内容都被复制到目标URL的末尾,因此该指令将/anything
重定向到https://new.site/anything
,将/foo/bar/baz?123
重定向到https://new.site/foo/bar/baz?123
。注意:首先使用302(临时)重定向进行测试,以避免潜在的缓存问题。