Hoo-Junge Ich habe den ganzen Tag mit diesem gekämpft.Senden Sie eine Subdomain an Unterverzeichnis, alles andere mit Parameter
Die Umleitung von den Subdomains zu den Skriptdateien mit Subdomain, die als Parameter übergeben wurden, funktioniert einwandfrei.
Wenn eine bestimmte Subdomain tatsächlich ein echter Ordner (phpmyadmin) ist, kann ich es nicht funktionieren lassen, zumindest nicht mit der zuvor erwähnten Regel.
Hier ist meine Sachen:
<VirtualHost *.domain.com:443>
ServerName *.domain.com
ServerAlias *.domain.com
DocumentRoot /home/domain/web
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^(phpmyadmin)\.domain\.com
RewriteCond %{REQUEST_URI} !^phpmyadmin
RewriteRule ^(.*)$ /phpmyadmin [L]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com
RewriteRule ^\/script2$ /public/script2.php?param1=%1 [L]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com
RewriteRule ^(.*) /public/script1.php?param1=%1 [L]
<Directory /home/domain/web>
Options -Indexes IncludesNOEXEC FollowSymLinks -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /home/domain/crt
SSLCertificateKeyFile /home/domain/key
</VirtualHost>
Irgendwelche Ideen?
auch ohne [R] Flag, die Umleitung Regel als Alias handeln, was bedeutet, dass phpmyadmin.domain.com leise wird Umleitung zu www.domain.com/phpmyadmin hinter den Kulissen, aber Ihre URL ändert sich nicht. Ersetzen Sie [L] durch [R = 301, L], wenn Sie tatsächlich die URL-Änderung im Browser sehen möchten (zumindest zum Testen, da sie viel einfacher ist, wenn Sie sehen können, wohin die Weiterleitung geht). – WebChemist