我以为我已经弄清楚了,但是没有骰子...我试图重写一个域,但保留子目录路径:
www.olddomain.com/sub/directory/page.php
至
www.newdomain.com/sub/directory/page.php
以下两个指令都是必需的。首先是尝试实现上述目的。第二种是在每个URL之前插入一个隐藏的“ index.php”。
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
当前,无论我在olddomain.com上访问哪个URL,它都会带我到newdomain.com/index.php。也许它是从前一个站点插入“ index.php” ...我插入了[L]试图使其停止解析.htaccess文件,但它也不喜欢。任何方向将不胜感激。
您需要确保删除旧站点上的所有规则(如果该站点位于与新域不同的位置),否则,您需要确保重定向是第一个规则,就在该RewriteEngine On
行下方。
您的规则:
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
是正确的。只要之前没有任何内容,它就应该起作用。
确保已清除浏览器的缓存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句