问题
On a Windows machine, there's a system running on the local wampserver, but while the application is running on localhost, the URL says otherwise.
While I would expect the URL to be like this based on the directory structure:
http://localhost/pro/include/db_report.php
The developer has managed to do this:
http://ap-mispro/pro/include/db_report.php
So instead of localhost
, the URL says ap-mispro
.
And both URLs work fine.
How is the second URL made? I tried checking out the wampmanager.ini
and wampmanager.tpl
but maybe I didn't know what to look for?
回答1:
WINDOWS + WAMP solution
Step 1
Go to C:\wamp\bin\apache\Apache2.2.17\conf\
open httpd.conf
file and change #Include conf/extra/httpd-vhosts.conf
toInclude conf/extra/httpd-vhosts.conf
i.e. uncomment the line so that it can includes the virtual hosts file.
Step 2
Go to C:\wamp\bin\apache\Apache2.2.17\conf\extra
and open httpd-vhosts.conf
file and add the following code
<VirtualHost myWebsite.local>
DocumentRoot "C:/wamp/www/myWebsite/"
ServerName myWebsite.local
ServerAlias myWebsite.local
<Directory "C:/wamp/www/myWebsite/">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
change myWebsite.local
and C:/wamp/www/myWebsite/
as per your requirements.
Step 3
Open hosts
file in C:/Windows/System32/drivers/etc/
and add the following line ( Don't delete anything )
127.0.0.1 myWebsite.local
change myWebsite.local
as per your name requirements
Step 4
restart your server. That's it
WINDOWS + XAMPP solution
Same steps as that of WAMP just change the paths according to XAMPP which corresponds to path in WAMP
回答2:
Copy the hosts
file and add 127.0.0.1
and name which you want to show or run at browser link. For example:
127.0.0.1 abc.com
Then run abc.com
as a local host in browser.
回答3:
They are probably using a virtual host (http://www.keanei.com/2011/07/14/creating-virtual-hosts-with-wamp/)
You can go into your Apache configuration file (httpd.conf) or your virtual host configuration file (recommended) and add something like:
<VirtualHost *:80>
DocumentRoot /www/ap-mispro
ServerName ap-mispro
# Other directives here
</VirtualHost>
And when you call up http://ap-mispro/
you would see whatever is in C:/wamp/www/ap-mispro (assuming default directory structure). The ServerName and DocumentRoot do no have to have the same name at all. Other factors needed to make this work:
- You have to make sure httpd-vhosts.conf is included by httpd.conf for your changes in that file to take effect.
- When you make changes to either file, you have to restart Apache to see your changes.
- You have to change your hosts file
http://en.wikipedia.org/wiki/Hosts_(file) for your computer to know
where to go when you type
http://ap-mispro
into your browser. This change to your hosts file will only apply to your computer - not that it sounds like you are trying from anyone else's.
There are plenty more things to know about virtual hosts but this should get you started.
回答4:
please refer http://complete-concrete-concise.com/web-tools/how-to-change-localhost-to-a-domain-name
this is best solution ever
回答5:
for new version of Wamp
<VirtualHost *:80>
ServerName domain.local
DocumentRoot C:/wamp/www/domain/
<Directory "C:/wamp/www/domain/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
回答6:
After another hour or two I can actually answer my own question.
Someone on another forum mentioned that you need to keep a mention of plain ol' localhost in the httpd-vhost.conf file, so here's what I ended up with in there:
ServerName localhost
DocumentRoot "c:/wamp/www/"
DocumentRoot "C:/wamp/www/pocket/"
ServerName pocket.clickng.com
ServerAlias pocket.clickng.com
ErrorLog "logs/pocket.clickng.com-error.log"
CustomLog "logs/pocket.clickng.com-access.log" common
<Directory "C:/wamp/www/pocket/">
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Exit WAMP, restart - good to go. Hope this helps someone else :)
回答7:
go to C:\Windows\System32\drivers\etc and open hosts file and add this
127.0.0.1 example.com
127.0.0.1 www.example.com
then go to C:\xampp\apache\conf\extra open httpd-ajp.conf file and add
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/pojectroot"
ServerName example.com
ServerAlias www.example.com
<Directory "C:/xampp/htdocs/projectroot">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
回答8:
This method will work for xamp/wamp/lamp
- 1st go to your server directory, for example, C:\xamp
- 2nd go to apache/conf/extra and open httpd-vhosts.conf
- 3rd add following code to this file
<VirtualHost myWebsite.local> DocumentRoot "C:/wamp/www/php-bugs/" ServerName php-bugs.local ServerAlias php-bugs.local <Directory "C:/wamp/www/php-bugs/"> Order allow,deny Allow from all </Directory> </VirtualHost>
For DocumentRoot and Directory add your local directory For ServerName and ServerAlias give your server a name
Finally go to C:/Windows/System32/drivers/etc and open hosts file
add127.0.0.1 php-bugs.local
and nothing elseFor the finishing touch restart your server
For Multile local domain add another section of code into httpd-vhosts.conf
<VirtualHost myWebsite.local> DocumentRoot "C:/wamp/www/php-bugs2/" ServerName php-bugs.local2 ServerAlias php-bugs.local2 <Directory "C:/wamp/www/php-bugs2/"> Order allow,deny Allow from all </Directory> </VirtualHost>
and add your host into host file 127.0.0.1 php-bugs.local2
来源:https://stackoverflow.com/questions/17652373/how-to-change-the-url-from-localhost-to-something-else-on-a-local-system-usin