用htaccess mod_rewrite x-domain解决方案替换URI中的部分文件名

时间:2013-10-26 10:34:17

标签: php regex apache .htaccess mod-rewrite

我一直在浏览关于htaccess的教​​程但是每个例子在重写的第二部分似乎都有一个绝对的URL。我的网站提供跨多个域,因此我需要一个x域解决方案。

规则应说明以下内容:现在转到confirm.php文件的所有内容都转到确认/文件夹。所以......

http://example.com/confirm.php?token=32879现在应该转到http://example.com/confirm/?token=32879

http://elpmaxe.com/confirm.php?token=32879现在应该转到http://elpmaxe.com/confirm/?token=32879

我提出的代码是:

RewriteCond %{REQUEST_URI} confirm.php$ [NC]
RewriteRule ^(confirm\.php)$ confirm/ [L,R=301]

但是这会将整个文档根路径附加到URL的末尾,如下所示:

http://example.local/var/www/vhosts/example.co.uk/confirm/?t=CB3Qj&e=578

请帮忙!

1 个答案:

答案 0 :(得分:1)

此规则应该有效:

RewriteEngine On

RewriteRule ^(confirm\.php)$ /confirm/ [L,R=301,NC]

确保在新浏览器中进行测试,以避免301缓存问题。