很丢失。 我正在尝试重写旧网站的网址(old.com/folder) 使用.htaccess,
更新版本的网站(new.com)其中old.com/folder应该成为new.com
论坛表明.htaccess将以这种方式写入标准URL更改
RewriteEngine On
RewriteCond %{HTTP_HOST} old.com$ [NC]
RewriteRule ^folder/(.*)$ http://www.new.com/$1 [R=301,L]
但是当前的.htaccess文件有以下重写来清理URL:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.+) /folder/index.php
.htaccess文件应该是什么样才能保持重写结构(sans index.php)&重定向到新网站?
实施例。 old.com/folder/a/a>>>>> new.com/a/a
答案 0 :(得分:0)
你的组合.htaccess应该是这样的:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} old\.com$ [NC]
RewriteRule ^folder/(.*)$ http://www.new.com/$1 [R=302,NC,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule . /folder/index.php [L]
验证一切正常后,将R=302
替换为R=301
。在测试mod_rewrite规则时,请避免使用R=301
(永久重定向)。