/ / .htaccess: mod-rewrite; sottodominio - .htaccess, mod-rewrite, sottodominio

.htaccess: mod-rewrite; sottodominio - .htaccess, mod-rewrite, sottodominio

Sto lavorando a una nuova gemma del sito web Desidero creare URL dall'aspetto gradevole per i miei utenti. Non ne so niente htaccess e non sono riuscito a trovare la mia soluzione su Google.

Ho bisogno di collegare:

  • user.mywebsite.com a >> mywebsite.com/users/user
  • user2.mywebsite.com/contact a >> mywebsite.com/users/user2/contact

Alcuni link potrebbero non essere collegati come:

  • www.mywebsite.com potrebbe non collegarsi a mywebsite.com/users/www

È possibile che abbia a che fare con htaccess? Se sì, qualcuno me lo può spiegare?

risposte:

6 per risposta № 1

Usando mod_rewrite, puoi provare:

RewriteEngine On

# the request URI doesn"t already start with /users/
RewriteCond %{REQUEST_URI} !^/users/

# host doesn"t start with www
RewriteCond %{HTTP_HOST} !^www.  [NC]

# host starts with something else
RewriteCond %{HTTP_HOST} ^([^.]+).mywebsite.com$  [NC]

# rewrite
RewriteRule ^(.*)$ /users/%1/$1  [L]

In questo modo sarà così quando qualcuno entrerà http://joe.mywebsite.com/some/page.html verrà servito il file in formato /users/joe/some/page.html


-1 per risposta № 2

Reindirizzare i tuoi vecchi link a quelli nuovi.

Redirect user.mywebsite.com mywebsite.com/users/user
Redirect user2.mywebsite.com/contact mywebsite.com/users/user2/contact

-1 per risposta № 3

Puoi dare un'occhiata a VirtualDocumentRoot

per esempio. i documenti per www.user.isp.com si trovano in / home / user /.

# include part of the server name in the filenames
VirtualDocumentRoot /www/hosts/%2/docs

# single cgi-bin directory
ScriptAlias /cgi-bin/ /www/std-cgi/