我的.htaccess在本地测试时工作得很好,当我部署到azure应用服务时,从customdomain.com/foo/content/bar.. --> newdomain.com尝试,它不会保留路径,如果我使用azure的应用服务域名,通常是:something-some-prod.azurewebsites.com上述工作得很好,再次接管路径。
.htaccess,示例:
RewriteRule "^/?foo/foo/content/bar/content2/?$" "https://www.newdomain.com/foo/foo/" [L,R=301,NE]
- 上面的内容在旧域中不存在,我想保留foo/foo部分,这就是为什么我强制这一部分。
我的另一条规则,也就是最后一条:
RewriteRule "^/?(.*)" "https://www.newdomain.com/$1" [L,R=301,NE]
不知道发生了什么事,任何人?
UPD:这是我在newdomain主机上的内容,.htaccess
RewriteEngine On
# Handle URL Canonicalization
RewriteCond %{HTTP_HOST} ^old-domain.com$ [NC]
RewriteRule ^(.*)$ https://www.old-domain.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^new-domain.com$ [NC]
RewriteRule ^(.*)$ https://www.new-domain.com/$1 [L,R=301]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
1条答案
按热度按时间dgtucam11#
SSL证书在旧域上已过期。