Назад | Перейти на главную страницу

Перенаправить один URL-адрес на другой на том же сайте?

чего я хочу достичь

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 

Это только соответствует /