[htaccess] subdomain
Ik ben bezig htaccess om automatische subdomeinen aan te maken.
test.localhost.com
alleen ik krijg de volgende error
Quote:
The requested URL /site.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
localhost.com werkt wel gewoon.
de htaccess die ik op dit moment heb is het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Options FollowSymLinks MultiViews
RewriteEngine On
RewriteCond %{HTTP_HOST} !^localhost\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/site.php
RewriteRule ^(.*)$ /site.php?name=$1 [L]
ErrorDocument 404 /?p=404
RewriteEngine On
RewriteCond %{HTTP_HOST} !^localhost\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/site.php
RewriteRule ^(.*)$ /site.php?name=$1 [L]
ErrorDocument 404 /?p=404
ik hoop dat ik voldoende informatie heb gegeven.
Alvast bedankt
Als je op Windows bezig bent, heb je ook je hosts-file aangepast?
Quote:
127.0.0.1 localhost.com
127.0.0.1 localhost.com
127.0.0.1 test.localhost.com
127.0.0.1 localhost.com
127.0.0.1 localhost.com
127.0.0.1 test.localhost.com
en heb je tegen apache gezegd welke directory de document root is voor test.localhost.com / heb je apache gezegd dat test.localhost.com een alias is van localhost.com?
Toevoeging op 08/03/2015 16:57:44:
heb het al gevonden.
Dankjewel probleem is opgelost
Toevoeging op 08/03/2015 17:33:55:
Wil alleen nu het volgende:
test.localhost.com
moet de gegevens van test uit de datbase halen.
Ik dacht aan het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
error_reporting(E_ALL);
include('global.php');
if(isset($_GET['name'])){
$sql = $connect->Query("SELECT * FROM sites WHERE sitename = '".$connect->real_escape_string($_GET['name']). "' ORDER BY id DESC LIMIT 1");
if(DB::NumRows($sql) == 0){
echo'Website onbekend';
die();
}else{
$row = DB::FetchObject($sql);
$_SESSION['name'] = DB::Filter($_GET['name']);
if(!isset($_GET['p'])){
header('Location: http://www.' . $_SESSION['name'] . '.localhost.com/start');
}else{
$page = $_GET['p'];
}
}
}
?>
xx
error_reporting(E_ALL);
include('global.php');
if(isset($_GET['name'])){
$sql = $connect->Query("SELECT * FROM sites WHERE sitename = '".$connect->real_escape_string($_GET['name']). "' ORDER BY id DESC LIMIT 1");
if(DB::NumRows($sql) == 0){
echo'Website onbekend';
die();
}else{
$row = DB::FetchObject($sql);
$_SESSION['name'] = DB::Filter($_GET['name']);
if(!isset($_GET['p'])){
header('Location: http://www.' . $_SESSION['name'] . '.localhost.com/start');
}else{
$page = $_GET['p'];
}
}
}
?>
xx
Helaas pakt die nu site.php als $_GET['name']
iemand een idee?
Alvast bedankt :)
Alvast bedankt :)
Waarom geen controle op $_SERVER['HTTP_HOST']?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
error_reporting(E_ALL);
include('global.php');
$urlExplode = explode('.', $_SERVER['HTTP_HOST']);
if (count($urlExplode) > 2 && $urlExplode[0] != 'www') {
$subdomain = $urlExplode[0];
}
else {
echo'Onbekend';
die();
}
if(isset($_SERVER['HTTP_HOST'])){
$sql = $connect->Query("SELECT * FROM sites WHERE sitename = '".$urlExplode[0]. "' ORDER BY id DESC LIMIT 1");
if(DB::NumRows($sql) == 0){
echo'Website onbekend';
die();
}else{
$row = DB::FetchObject($sql);
$_SESSION['name'] = DB::Filter($_GET['name']);
if(!isset($_GET['p'])){
header('Location: ' . $urlExplode[0] . '.localhost.com/');
}else{
$page = $_GET['p'];
}
}
}
?>
error_reporting(E_ALL);
include('global.php');
$urlExplode = explode('.', $_SERVER['HTTP_HOST']);
if (count($urlExplode) > 2 && $urlExplode[0] != 'www') {
$subdomain = $urlExplode[0];
}
else {
echo'Onbekend';
die();
}
if(isset($_SERVER['HTTP_HOST'])){
$sql = $connect->Query("SELECT * FROM sites WHERE sitename = '".$urlExplode[0]. "' ORDER BY id DESC LIMIT 1");
if(DB::NumRows($sql) == 0){
echo'Website onbekend';
die();
}else{
$row = DB::FetchObject($sql);
$_SESSION['name'] = DB::Filter($_GET['name']);
if(!isset($_GET['p'])){
header('Location: ' . $urlExplode[0] . '.localhost.com/');
}else{
$page = $_GET['p'];
}
}
}
?>
Alleen nu weergeeft die het volgende:
Quote:
De webpagina op http://test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/test.localhost.com/ heeft geleid tot te veel omleidingen. Dit probleem wordt mogelijk opgelost als je je cookies voor deze site wist of cookies van derden toestaat. Zo niet, dan is het mogelijk een probleem met de serverconfiguratie en niet een probleem met de computer.
Toevoeging op 09/03/2015 21:27:25:
Heb het al opgelost.
Dankjewel voor de hulp!