我的 .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]
我的另一条规则,在最后:
RewriteRule "^/?(.*)" "https://www.newdomain.com/$1" [L,R=301,NE]
不知道发生了什么,有人吗?
更新: 这就是我在 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]
旧域名上的 SSL 证书已过期。