чего я хочу достичь
prod.com будет немедленно перемещен на prod.com/cms
когда я делал перенаправление перманентно / / cms
У меня много / cmscmscmscmscms и т. Д. Есть идеи?
мой вид
<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 / /cms
соответствует любому пути, начинающемуся с /, и добавляет старый путь к новому пути. На самом деле вам нужно:
RedirectMatch ^\/$ /cms
Это только соответствует /