我想要什么
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
这只匹配/