redirect一个url到另一个相同的网站技巧?

我想要什么

prod.com立即移动到prod.com/cms

当我做redirect永久性/ / cms

我得到了很多/ cmscmscmscmscmscms等任何想法?

我的虚拟主机

<VirtualHost *:443> ServerName prod.com DocumentRoot /home/www/sites/prod/html/development <Directory /home/www/sites/prod/html/development> AllowOverride All </Directory> SSLEngine on SSLCACertificateFile /etc/pki/tls/certs/gd_bundle.crt SSLCertificateFile /etc/pki/tls/certs/prod.crt SSLCertificateKeyFile /etc/pki/tls/private/prod.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> 

我的.htaccess

 RewriteEngine On RewriteCond %{REQUEST_URI} ^/API [NC] RewriteRule ^(.*)$ /Application/API/api.php [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*)$ /Application/controller.php [L] DirectoryIndex /Application/controller.php 

你有一个redirect循环的原因是因为Redirect / /cms匹配任何以/开头的path,并将旧path追加到新path上。 你真正想要的是:

 RedirectMatch ^\/$ /cms 

这只匹配/