IIS 7 URL-omskrivingsregel / begrens brukerforespørsel for bestemt mappe / fil / filtyper

Jeg har prøvd å lage et underdomener fra en katalog (laget av .htaccess) som skal brukes som hovedsiden som starter http://domain.com/sub/2/3/4.html og blir til http://sub.domain.com/2/3/4.html.

Mappesystemet går som:

www\sub\2\3\ 

i www det er en index.html og i undermappen er det en annen index.html.

Jeg har for øyeblikket denne koden som jeg fant på et annet nettsted:

Options -Indexes +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] RedirectMatch 301 ^/sub/(.*)$ http://sub.domain.com/$1 

Det lykkes med å endre domenebanen til http://sub.domain.com/, men det lykkes ikke å endre siden som vises fra indeksen i www katalogen til indeksen i underkatalogen.

Det er heller ikke vellykket å tillate å åpne andre sider, dvs. ikke tillate sub.domain.com/2/3/4.html. Hvis noen kan gi noen råd, vil det bli satt stor pris på.

Jeg har funnet noen fantastiske koder for .htaccess som konverterer hvilken som helst mappe i hoved-www-katalogen til underdomener, f.eks. www / somefolder blir til somefolder.domain.com, du kan også sette den slik at en hvilken som helst katalog i en bestemt katalog blir et underdomene, f.eks. www / folder / somefolder blir til somefolder.domain.com

koden nedenfor er satt til å omdirigere kataloger i en bestemt katalog

Options +FollowSymLinks -Multiviews RewriteEngine on RewriteBase / # # Canonicalize the hostname RewriteCond www.%{HTTP_HOST} ^(www)\.(example\.com) [OR] RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.(example\.com) [OR] RewriteCond %{HTTP_HOST} ^([^.]+)\.www\.(example\.com) [OR] RewriteCond %{HTTP_HOST} ^([^.]+)\.(example\.com). [OR] RewriteCond %{HTTP_HOST} ^([^.]+)\.(example\.com):[0-9]+ RewriteRule (.*) http://%1.%2/$1 [R=301,L] # # If subdomain is NOT www RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] # Extract (required) subdomain to %1 RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ # Rewrite if requested URL resolves to existing file or subdirectory in /subdomains// path RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/$1 -f [OR] RewriteCond %{DOCUMENT_ROOT}/subdomains/%1/$1 -d RewriteRule (.*) /subdomains/%1/$1 [L] 

bare endre 'example.com' til domenet ditt, f.eks. 'domain.com' sørg for at du ikke fjerner noen av de andre symbolene bortsett fra prikker. For øyeblikket vil katalogene i mappen "underdomener" endres til et underdomener, f.eks. www / underdomener / blogg blir til 'blog.domain.com' for å angi at den bare skal endre mappene i www-katalogen til underdomener, f.eks. www / blog vil bli til 'blog.domain.com'

hvis du automatisk vil videresende til et underdomener f.eks. blog.domain.com må du legge dette på slutten av den andre koden

RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ http://blog.example.com/$1 [R=301,L] 

håper dette fungerer for alle det tok meg aldre å finne en løsning på dette forferdelige problemet takk Reblerebel

Du må konfigurere en virtuell apache-vert for sub.domain.com med www/sub som sin DirectoryRoot.

  • hvordan ville du gjort det?
  • httpd.apache.org/docs/2.0/vhosts/examples.html
  • så legger jeg det i .htaccess-filen fordi jeg ikke kan redigere andre innstillinger
  • Nei, dette er ikke en .htaccess-konfigurasjon. Du må redigere apache's apache2.conf eller httpd.conf. Du må be administratoren om å gjøre det da.
  • Jeg bruker for øyeblikket gratis slange som jeg kan FTP inn i, så ville det gått inn i www-katalogen?

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?