Liên kết dự án không hoạt động trên Máy chủ Wamp


86

Tôi đang cài đặt Máy chủ Wamp trên một máy tính khác để chạy cơ sở dữ liệu và giao diện người dùng cỡ trung bình. Tôi đã thành công trong việc chặn IIS và định tuyến máy chủ tới Localhost: 8080. Nhưng bất cứ khi nào tôi cố gắng truy cập vào các dự án của mình từ trang chủ localhost, trong tệp www; Tôi được chuyển hướng đến lỗi không tìm thấy Trang.

Khi tôi di chuột lên trên các liên kết, thư mục luôn xuất hiện "http: // ProjectFolderNameHere /". khi nó được cho là "http: // LocalHost: 8080 / ProjectFolderNameHere /". Tôi có thể làm gì để liên kết hoạt động bình thường?

Máy của tôi chạy trên Windows 7 Home Edition 64-bit và tôi đã tắt IIS của Microsoft.


Bạn có thể truy cập localhost: 8080 / index.html (giả sử bạn có)? Các liên kết được lưu trữ hiển thị cho bạn các URL bị hỏng đó ở đâu? Ai đã viết chúng? Có vẻ như những liên kết đó chỉ được viết một cách tồi tệ.
Patrick

Không Nhưng tôi đã thử kết nối với một trong các tệp của mình, tất cả đều được đặt ở đây, cảm ơn bạn!
user3638431

Nếu bạn tìm thấy giải pháp, hãy trả lời câu hỏi của chính bạn để tham khảo trong tương lai :)
Patrick

Ok Vì vậy, những gì tôi đã làm là tôi đã nghe lời khuyên của Patrick, nhưng thay vào đó tôi đã nhập localhost: 8080 / ProjectFilename và cuối cùng đã có quyền truy cập vào dự án của mình. Vấn đề của tôi vẫn còn nhưng tôi đã tìm ra cách giải quyết nó.
user3638431

Tôi tin rằng các liên kết của bạn (những liên kết bạn nhấp vào) được viết sai. Nếu bạn có thể làm sáng tỏ hơn về cách bạn truy cập những liên kết đó, chúng được viết ở đâu trước khi bạn 'nhấp' vào chúng, tôi có thể hỗ trợ thêm
Patrick

Câu trả lời:


158

Cách tạo Máy chủ ảo trong WampServer


WAMPServer 3 đã làm cho quá trình này dễ dàng hơn nhiều!

Bạn có thể làm hầu hết mọi thứ từ một tiện ích được cung cấp như một phần của WAMPServer.

  • Tạo một thư mục bên trong để chứa project.site của bạn. Điều này có thể nằm trong C:\wamp\www\thư mục hoặc trong một thư mục hoàn toàn riêng biệt như C:\websites.

  • Tạo một thư mục bên trong vị trí bạn đã chọn EG C:\websites\project1\wwwhoặc bên dướic:\wamp\www\project1\www

  • Bây giờ, hãy mở localhost wampmanager->localhostvà nhấp vào liên kết Add a Virtual Hostdưới phần CÔNG CỤ trên trang chủ.

Bạn sẽ thấy một trang như thế này:

nhập mô tả hình ảnh ở đây

  • Điền vào các trường như được chỉ định bởi hướng dẫn ở trên mỗi trường

  • Cấu hình Máy chủ ảo sẽ được tạo cho bạn.

  • Bây giờ bạn phải khởi động lại DNS Cache. Bạn có thể làm điều này từ các menu wampmanager như thế này right click wampmanager->Tools->Restart DNS. DNS Cache sẽ được khởi động lại và sau đó Apache cũng sẽ bị dừng và khởi động lại. Khi biểu tượng wampmanager chuyển sang màu xanh lục trở lại, tất cả đã hoàn thành.

  • Bây giờ bạn phải tạo một index.phptệp đơn giản hoặc cài đặt trang web của bạn vào thư mục bạn đã tạo ở trên.

  • Giả sử VH của bạn được gọi là project.devBạn sẽ thấy tên đó trong Phần Máy chủ ảo của Bạn trên trang chủ WAMPServer.

  • Bạn có thể khởi chạy trang web từ menu này hoặc chỉ cần sử dụng Tên miền mới trong thanh địa chỉ EG project1.devvà khởi chạy trang web.


Cơ chế WAMPServer 2.5 cũ hoặc nếu bạn muốn làm tất cả theo cách thủ công

Đã có sự thay đổi khái niệm trong WampServer 2.5 trở lên và có một lý do chính đáng cho sự thay đổi này!

Trong WampServer hiện nay chúng tôi khuyến khích MẠNH MẼ tạo Máy chủ ảo cho mỗi dự án của bạn, ngay cả khi bạn giữ chúng trong một \wamp\www\subfoldercấu trúc.

Tài liệu về Máy chủ ảo

Ví dụ về Máy chủ ảo

Trang chủ WampServer ( \wamp\www\index.php) bây giờ hy vọng bạn đã tạo Máy chủ ảo cho tất cả các dự án của mình và do đó sẽ chỉ hoạt động bình thường nếu bạn làm như vậy.

Lịch sử

Để giúp người mới bắt đầu sử dụng WampServer học PHP Apache và MySQL dễ dàng hơn, chúng tôi khuyên bạn nên tạo các thư mục con trong \wamp\www\thư mục.

wamp
  |-- www
       |-- Chapter1
       |-- Chapter2
       |-- etc

Các thư mục con này sau đó sẽ hiển thị dưới dạng các liên kết trong Trang chủ WampServer trong menu có tên 'Dự án của bạn' và các liên kết này sẽ chứa một liên kết đến localhost/subfoldername.

Chỉ được chấp nhận cho các hướng dẫn đơn giản

Điều này làm cho cuộc sống trở nên dễ dàng đối với những người mới bắt đầu hoàn toàn và hoàn toàn có thể chấp nhận được, chẳng hạn như những hướng dẫn sau đây để học viết mã PHP. Tuy nhiên, nó không bao giờ được dự định sử dụng khi phát triển một trang web thực mà sau này bạn muốn sao chép vào máy chủ lưu trữ trực tiếp của mình. Trên thực tế, nếu bạn sử dụng cơ chế này, nó thường gây ra sự cố vì cấu hình trang web trực tiếp sẽ không khớp với cấu hình phát triển của bạn.

Vấn đề để phát triển trang web thực.

Tất nhiên, lý do cho điều này là cài đặt DocumentRoot mặc định cho wamp là

DocumentRoot "c:/wamp/www/"

bất kể thư mục con của bạn được gọi là gì. Điều này đề cập đến việc thường sử dụng mã PHP để truy vấn cấu trúc hoặc trang web của bạn nhận được thông tin khác nhau khi chạy trên WampServer phát triển của bạn đến những gì nó sẽ nhận được khi chạy trên máy chủ được lưu trữ trực tiếp, nơi cấu hình DocumentRoot trỏ đến thư mục ở đầu trang web phân cấp tệp. Loại mã này tồn tại trong nhiều khuôn khổ và CMS, ví dụ như WordPress và Joomla, v.v.

Ví dụ

Giả sử chúng tôi có một dự án được gọi là project1 được tổ chức wamp\www\project1 và chạy không chính xác nhưlocalhost/project1/index.php

Đây là những gì sẽ được báo cáo bởi một số lệnh PHP được đề cập:

$_SERVER['HTTP_HOST'] = localhost
$_SERVER['SERVER_NAME'] = localhost
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www

Bây giờ nếu chúng tôi đã xác định chính xác trang web đó bằng cách sử dụng định nghĩa Máy chủ ảo và chạy nó vì http://project1kết quả trên trang web phát triển WAMPServer sẽ khớp với kết quả nhận được khi ở trên môi trường được lưu trữ trực tiếp.

$_SERVER['HTTP_HOST'] = project1
$_SERVER['SERVER_NAME'] = project1
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www/project1

Bây giờ sự khác biệt này có vẻ nhỏ lúc đầu nhưng nếu bạn đang sử dụng một khuôn khổ như WordPress hoặc một trong những CMS như Joomla chẳng hạn, điều này có thể và gây ra sự cố khi bạn di chuyển trang web của mình sang một máy chủ trực tiếp.

Cách tạo Máy chủ ảo trong WampServer

Trên thực tế, điều này về cơ bản sẽ hoạt động giống nhau đối với bất kỳ máy chủ Apache nào, chỉ khác ở chỗ bạn có thể tìm thấy các tệp cấu hình Apache.

Có 3 bước để tạo Máy chủ ảo đầu tiên của bạn trong Apache và chỉ 2 bước nếu bạn đã xác định một máy chủ.

  1. Tạo (các) định nghĩa Máy chủ ảo
  2. Thêm tên miền mới của bạn vào tệp HOSTS.
  3. Bỏ ghi chú dòng trong httpd.conf bao gồm tệp định nghĩa Máy chủ ảo.

Bước 1 , Tạo (các) định nghĩa Máy chủ ảo

Chỉnh sửa tệp có tên httpd-hosts.confdành cho WampServer nằm trong

\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf

(Số phiên bản Apache có thể khác nhau, hãy tham gia vào não bộ trước khi tiếp tục)

Nếu đây là lần đầu tiên bạn chỉnh sửa tệp này, hãy xóa mã ví dụ mặc định, mã này không có ích lợi gì.

Tôi giả sử chúng ta muốn tạo một định nghĩa cho một trang web có tên là project1 sống ở

\wamp\www\project1

Rất quan trọng, trước tiên chúng ta phải đảm bảo rằng localhost vẫn hoạt động, đó là định nghĩa VHOST đầu tiên mà chúng ta sẽ đưa vào tệp này.

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Bây giờ chúng tôi xác định dự án của mình: và điều này tất nhiên bạn làm cho từng dự án của mình khi bạn bắt đầu một dự án mới.

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/project1"
    ServerName project1
    <Directory  "c:/wamp/www/project1">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

LƯU Ý: Mỗi Máy chủ ảo như DocumentRootđược xác định riêng . Ngoài ra còn có nhiều tham số khác mà bạn có thể thêm vào định nghĩa Máy chủ ảo, hãy kiểm tra tài liệu Apache.

Nhỏ sang một bên

Cách máy chủ ảo hoạt động trong Apache: Định nghĩa đầu tiên trong tệp này cũng sẽ là trang web mặc định, vì vậy nếu tên miền được sử dụng trong trình duyệt không khớp với bất kỳ miền được lưu trữ ảo nào được xác định thực sự, việc đặt localhost trở thành miền đầu tiên trong tệp do đó nó là trang web được tải nếu một nỗ lực tấn công chỉ sử dụng Địa chỉ IP của bạn. Vì vậy, nếu chúng tôi đảm bảo rằng bảo mật Apache cho miền này LUÔN ĐƯỢC ĐẶT RA

Require local

bất kỳ cuộc tấn công thông thường nào từ một địa chỉ bên ngoài sẽ nhận được lỗi và không vào được PC của bạn, nhưng nếu bạn viết sai chính tả miền, bạn sẽ được hiển thị trên trang chủ WampServer, vì bạn đang ở trên cùng một PC với WampServer và therfore local.

Bước 2 :

Thêm tên miền mới của bạn vào tệp HOSTS. Bây giờ chúng ta cần thêm tên miền mà chúng ta đã sử dụng trong định nghĩa Máy chủ ảo vào tệp HOSTS để windows biết nơi tìm nó. Điều này tương tự như tạo bản ghi DNS A, nhưng nó chỉ hiển thị trong trường hợp này trên PC cụ thể này.

Biên tập C:\windows\system32\drivers\etc\hosts

Tệp không có phần mở rộng và nên giữ nguyên như vậy. Cẩn thận với notepad, vì nó có thể thử và thêm .txttiện ích mở rộng nếu bạn không có trình chỉnh sửa nào tốt hơn. Tôi khuyên bạn nên tải xuống Notepad ++, miễn phí và là một trình soạn thảo rất tốt.

Ngoài ra, đây là một tệp được bảo vệ nên bạn phải chỉnh sửa nó với các đặc quyền của quản trị viên, vì vậy hãy khởi chạy trình chỉnh sửa của bạn bằng cách sử dụng tùy chọn menu Run as Administrator .

Tệp máy chủ sẽ trông giống như thế này khi bạn đã hoàn thành các chỉnh sửa này

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Lưu ý rằng bạn nên có các định nghĩa tại đây cho địa chỉ lặp lại IPV4 127.0.0.1và cả địa chỉ lặp lại IPV6::1 vì Apache hiện đã biết IPV6 và trình duyệt sẽ sử dụng IPV4 hoặc IPV6 hoặc cả hai. Tôi không biết làm thế nào nó quyết định cái nào để sử dụng, nhưng nó có thể sử dụng nếu bạn đã bật ngăn xếp IPV6 và hầu hết các hệ điều hành window đều làm như XP SP3.

Bây giờ chúng ta phải yêu cầu các cửa sổ làm mới bộ đệm tên miền của nó, vì vậy hãy khởi chạy lại cửa sổ lệnh bằng cách sử dụng lại tùy chọn menu Run as Administrator và thực hiện như sau.

net stop dnscache
net start dnscache

Điều này buộc các cửa sổ phải xóa bộ nhớ cache tên miền của nó và tải lại nó, khi tải lại, nó sẽ đọc lại tệp HOSTS để bây giờ nó biết về miền project1.

Bước 3 : Bỏ ghi chú dòng trong httpd.conf bao gồm tệp định nghĩa Máy chủ ảo.

Chỉnh sửa httpd.conf của bạn, sử dụng menu wampmanager.exe để đảm bảo bạn chỉnh sửa đúng tệp.

Tìm dòng này trong httpd.conf

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

Và chỉ cần bỏ #ghi chú dòng đó.

Để kích hoạt thay đổi này khi bạn đang chạy Apache, bây giờ chúng ta phải dừng và khởi động lại dịch vụ Apache.

wampmanager.exe -> Apache -> Service -> Restart Service

Bây giờ nếu biểu tượng WAMP trong khay hệ thống không chuyển sang màu XANH LÁ nữa, điều đó có nghĩa là bạn có thể đã làm sai điều gì đó trong \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.conftệp.

Nếu vậy, đây là một cơ chế hữu ích để tìm ra điều gì sai. Nó sử dụng một tính năng của exe Apache (httpd.exe) để kiểm tra các tệp cấu hình của nó và báo cáo lỗi theo tên tệp và số dòng.

Khởi chạy cửa sổ lệnh.

cd \wamp\bin\apache\apache2.4.9\bin
httpd -t

Vì vậy, hãy sửa lỗi và kiểm tra lại cho đến khi bạn nhận được đầu ra

Syntax OK

Bây giờ còn một điều nữa.

Thực tế có 2 mục menu mới trên hệ thống menu wampmanager. Một cái tên là 'Dự án của tôi' được bật theo mặc định. Và một thứ hai, được gọi là 'Máy chủ ảo của tôi' , không được kích hoạt theo mặc định.

'Dự án của tôi' sẽ liệt kê bất kỳ thư mục con nào của thư mục \ wamp \ www và cung cấp một liên kết để khởi chạy trang web trong thư mục con đó. Như tôi đã nói trước đó, nó khởi chạy 'project1' chứ không phải 'localhost / project1', do đó, để làm cho liên kết hoạt động, chúng ta phải tạo định nghĩa Máy chủ ảo để làm cho liên kết này thực sự khởi chạy trang web đó trong trình duyệt của bạn, nếu không có định nghĩa Máy chủ ảo, nó có thể khởi chạy tìm kiếm trên web cho tên trang web dưới dạng từ khóa hoặc chỉ trả về tình trạng không tìm thấy trang web.

Mục menu 'Máy chủ ảo của tôi' hơi khác một chút. Nó tìm kiếm tệp được sử dụng để xác định Máy chủ ảo (chúng ta sẽ làm được điều đó sau một phút) và tạo các liên kết menu cho từng tham số ServerName mà nó tìm thấy và tạo một mục menu cho mỗi một. Điều này có vẻ hơi khó hiểu vì khi chúng ta tạo định nghĩa Máy chủ ảo cho các thư mục con của thư mục \ wamp \ www, một số mục sẽ xuất hiện trên cả menu 'Dự án của tôi' và menu 'Máy chủ ảo của tôi'.

Làm cách nào để bật menu 'Máy chủ ảo của tôi' khác này?

  • Sao lưu tệp \ wamp \ wampmanager.tpl, đề phòng trường hợp bạn mắc lỗi, đây là một tệp rất quan trọng.
  • Chỉnh sửa \ wamp \ wampmanager.tpl
  • Tìm tham số này ;WAMPPROJECTSUBMENUtrong phần '[Menu.Left]'.
  • Thêm thông số mới này vào ;WAMPVHOSTSUBMENUtrước hoặc sau ;WAMPPROJECTSUBMENUtham số.
  • Lưu các tập tin.
  • Bây giờ hãy nhấp chuột phải vào biểu tượng wampmanager và chọn 'Làm mới'. Nếu điều này không thêm menu, hãy 'thoát' và khởi động lại wampmanager.

Lưu ý lớn Menu mới sẽ chỉ xuất hiện nếu bạn đã xác định một số Máy chủ ảo! Nếu không, bạn sẽ không thấy sự khác biệt nào cho đến khi bạn xác định VHOST.

Bây giờ nếu bạn đưa điều này đến phần mở rộng hợp lý của nó

Bây giờ bạn có thể di chuyển mã trang web của mình hoàn toàn ra ngoài \wamp\cấu trúc thư mục chỉ bằng cách thay đổi tham số DocumentRoot trong định nghĩa VHOST. Vì vậy, ví dụ, bạn có thể làm điều này:

Tạo một thư mục trên đĩa wamp hoặc bất kỳ đĩa nào khác (hãy cẩn thận với ổ đĩa mạng, chúng phức tạp hơn một chút)

D:
MD websites
CD websites
MD example.com
CD example.com
MD www

Bây giờ bạn sao chép mã trang web của mình vào hoặc bắt đầu tạo mã đó trong \websites\example.com\wwwthư mục và xác định VHOST của bạn như sau:

<VirtualHost *:80>
    DocumentRoot "d:/websites/example.com/www"
    ServerName example.dev
    ServerAlias www.example.dev
    <Directory  "d:/websites/example.com/www">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    php_flag display_errors Off
    php_flag log_errors On

    php_value max_upload_size 40M
    php_value max_execution_time 60
    php_value error_log "d:/wamp/logs/example_com_phperror.log"
</VirtualHost>

Sau đó, thêm miền phát triển mới này vào tệp HOSTS:

127.0.0.1 localhost
::1 localhost

127.0.0.1 project1
::1 project1

127.0.0.1 example.dev
::1 example.dev

LƯU Ý: Bạn không nên sử dụng ServerName hoặc ServerAlias ​​giống với tên miền trực tiếp của bạn, vì nếu chúng tôi đã sử dụng example.com làm Tên máy chủ, điều đó có nghĩa là chúng tôi không thể truy cập trang web trực tiếp thực sự từ điều này nữa PC vì nó sẽ hướng example.com đến 127.0.0.1 tức là PC này và không kết nối với internet.

CŨNG: Thấy rằng tôi đã cho phép trang web này được truy cập từ internet từ bên trong các định nghĩa VHOST, thay đổi này sẽ chỉ áp dụng cho trang web này và không áp dụng cho trang web khác. Rất hữu ích để cho phép khách hàng xem các thay đổi của bạn trong một giờ hoặc lâu hơn mà không cần phải sao chép chúng vào máy chủ trực tiếp. Điều này có nghĩa là chúng tôi phải chỉnh sửa tệp này theo cách thủ công để bật và tắt quyền truy cập này thay vì sử dụng mục menu Đặt Trực tuyến / Ngoại tuyến trên wampmanager.

Ngoài ra, tôi đã thêm một số sửa đổi vào cấu hình PHP, một lần nữa điều đó sẽ chỉ áp dụng cho một trang web này. Rất hữu ích khi duy trì một trang web có yêu cầu cụ thể không giống như tất cả các trang web khác mà bạn duy trì. Tôi đoán chúng ta có thể giả định từ các tham số được sử dụng rằng nó có một trang chạy dài ở đâu đó và nó được viết rất tệ và sẽ không chạy với lỗi hiển thị trên trình duyệt mà không làm cho trang bị lộn xộn kinh khủng. Hãy tin tôi rằng các trang web như thế này tồn tại và mọi người vẫn muốn chúng được duy trì không tốt . Nhưng điều này có nghĩa là chúng tôi chỉ phải thay đổi các thông số này cho trang web cụ thể này và không phải trên toàn cầu cho tất cả các trang web Ảo chạy trên WampServer.


Vô cùng hữu ích. Đây thực sự nên là câu trả lời được chấp nhận. Rất nhiều thông tin và nếu được làm theo đúng cách, sẽ giúp bạn thiết lập và chạy trong khoảng 10 phút. Lời khuyên tuyệt vời. Tuy nhiên, một điểm nhanh chóng. Tôi gặp lỗi .htaccess: Lỗi lệnh 'RewriteEngine' không hợp lệ. Tôi phải đánh dấu vào rewrite_module trong menu Apache Modules. Ai đó có thể trả lời tại sao tôi phải làm điều này?
Chris

1
Rewrite_module của @Chris Apache là mã thực sự cung cấp công cụ viết lại. Nếu không có nó, apache không biết làm thế nào để viết lại url. Về cơ bản nó không nằm trong cốt lõi của apache nhưng một addon cho muốn của một mô tả tốt hơn
RiggsFolly

"Chỉnh sửa tệp có tên httpd-hosts.conf dành cho WampServer nằm trong \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf" Trong bản cài đặt wampserver 2.5 mới của tôi, tệp này không tồn tại. Nếu bạn muốn nói đến httpd-vhosts.conf, vui lòng sửa lại.
bcsteeve

2
@ starleaf1 Bạn muốn là lệnh của chúng tôi! Chạy localhost/add_vhost.phptrên WAMPServer 3, hãy xem bài đăng này trên Diễn đàn
WAMPServers

1
Nói về giải thích chuyên sâu! +1 cho right click wampmanager -> Tools -> Restart DNSđiều đó đã xảy ra thủ thuật sau khi thêm một máy chủ ảo mới và không hiểu tại sao nó vẫn không hoạt động.
Paesano2000

74

Tôi tin rằng đây là giải pháp tốt nhất:

Mở index.php trong thư mục www và thiết lập

thay đổi dòng 30:$suppress_localhost = true;

đến $suppress_localhost = false;

Điều này sẽ đảm bảo dự án có tiền tố là IP / tên máy chủ cục bộ của bạn


1
cảm ơn! đã giải quyết vấn đề nhưng không tìm thấy biểu tượng / hình ảnh của đường dẫn / biểu tượng không hiển thị blank.git, back.gif, folder.gif. bất kỳ giải pháp cho điều này quá?
Shubham Badal

3
Có, hãy tạo Máy chủ ảo cho mỗi trang web, xem câu trả lời ở trên để biết cách thực hiện.
RiggsFolly

1
Hiện có (WAMPSERVER 3) một tùy chọn menu đơn giản trên wampmanager để thực hiện việc này nếu bạn thực sự không hiểu đó là ý tưởng tồi. right click wampmanager->Wamp Settings->Add localhost to urlĐiều tốt duy nhất về điều này là sau đó bạn có thể tắt nó đi một cách dễ dàng khi bạn nhận ra ý tưởng tồi tệ ngay từ đầu!
RiggsFolly


11

Để truy cập dự án từ trang chủ, trước tiên bạn cần tạo Máy chủ ảo .

Cách dễ nhất để làm điều này là sử dụng Tiện ích máy chủ ảo của Wamp .

Chỉ cần làm theo các bước sau:

  1. Tạo một thư mục bên trong thư mục "C: \ wamp \ www \" và đặt cho nó một cái tên mà bạn muốn đặt cho trang web của mình chẳng hạn. ' mysite '. Vì vậy, đường dẫn sẽ là "C: \ wamp \ www \ mysite" .
  2. Bây giờ, mở trang chủ của localhost trong trình duyệt của bạn, trong menu Công cụ, nhấp vào liên kết Thêm máy chủ ảo .
  3. Nhập tên của máy chủ ảo , tên đó phải là tên của thư mục chúng ta đã tạo bên trong thư mục www, tức là ' mysite '.
  4. Nhập đường dẫn tuyệt đối của máy chủ ảo, tức là "C: \ wamp \ www \ mysite \" không có dấu ngoặc kép và nhấp vào nút bên dưới có nội dung 'Bắt đầu tạo VirtualHost' .
  5. Máy chủ ảo được tạo, bây giờ bạn chỉ cần 'Khởi động lại DNS' . Để thực hiện việc này, hãy nhấp chuột phải vào biểu tượng menu khay của máy chủ wamp, nhấp vào Công cụ> Khởi động lại DNS và để biểu tượng menu khay trở lại màu xanh lục.
  6. Tất cả các thiết lập! Bây giờ chỉ cần tạo trang 'index.php' bên trong thư mục "C: \ wamp \ www \ mysite \" . Thêm một số mã trong tệp 'index.php' , như
    <?php echo "<h1>Hello World</h1>"; ?>

Bây giờ bạn có thể truy cập các dự án từ trang chủ của localhost. Chỉ cần nhấp vào liên kết dự án và bạn sẽ thấy 'Hello World' được in trên màn hình của mình.


1
Tôi nghĩ rằng điều này nên được chấp nhận awnser vì tôi đã gặp vấn đề tương tự và nó đã hoạt động!
Nmaster88

1
cái này là mới nhất và hoàn hảo và phù hợp với tôi. cảm ơn . một số câu trả lời trên là dài dòng và lỗi thời.
Junaid

2
Đây sẽ là câu trả lời được chấp nhận hiện tại kể từ ngày 18/4/2017. Làm việc hoàn hảo cho tôi.
rolo

điều này đã hoạt động, tuy nhiên máy chủ ảo cho một trong các thư mục dự án tôi đã tạo, chẳng hạn như ví dụ, đã không thay đổi ví dụ trong tiêu đề 'Dự án của bạn' như một liên kết .. tại sao lại như vậy?
Krys

Nếu ai đó gặp bất kỳ vấn đề nào với việc các thư mục dự án không chuyển từ văn bản đen sang liên kết http, tôi đã làm theo cách nhanh chóng này để kích hoạt nó: mở index.php từ wamp / www /, sao chép chuỗi trên dòng 152: <li> <a href = "'. str_replace ('. conf ',' ', $ file).' /"> '. str_replace ('. conf ',' ', $ file).' </a> </li> và thay thế chuỗi <li>. tệp $. </li> trên dòng 359. hey presto!
Krys

2

Cách khắc phục các liên kết biểu tượng bị hỏng (blank.gif, text.gif, v.v.)

Thật không may, như đã đề cập trước đây, chỉ cần thêm một máy chủ ảo vào dự án của bạn không khắc phục được các liên kết biểu tượng bị hỏng.

Vấn đề:

WAMP / Apache không thay đổi tham chiếu thư mục cho các biểu tượng đến thư mục cài đặt tương ứng của bạn. Nó được đặt tĩnh thành "c: / Apache24 / biểu tượng" và 99,9% người dùng cài đặt Apache không nằm ở đây. Đặc biệt là với WAMP.

Cách khắc phục:

  1. Tìm thư mục biểu tượng Apache của bạn! Thông thường, nó sẽ được đặt tại đây: "c: /wamp/bin/apache/apache2.4.9/icons". Tuy nhiên, số dặm của bạn có thể thay đổi tùy thuộc vào cài đặt của bạn và nếu phiên bản Apache của bạn khác, thì đường dẫn của bạn cũng sẽ khác. \

  2. Mở httpd-autoindex.conf trong trình chỉnh sửa yêu thích của bạn. Bạn thường có thể tìm thấy tệp này tại đây: "C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf". Một lần nữa, nếu phiên bản Apache của bạn khác, thì đường dẫn này cũng vậy.

  3. Tìm định nghĩa này (thường nằm gần đầu tệp):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. Thay thế các thư mục "c: / Apache24 / icon /" bằng thư mục của riêng bạn. QUAN TRỌNG Bạn PHẢI có dấu gạch chéo về phía trước trong tham chiếu thư mục đầu tiên. Tham chiếu thư mục thứ hai không được có dấu gạch chéo. Kết quả của bạn sẽ giống như thế này. Một lần nữa, thư mục của bạn có thể khác:

    Alias /icons/ "c:/wamp/bin/apache/apache2.4.9/icons/"
    
    <Directory "c:/wamp/bin/apache/apache2.4.9/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  5. Khởi động lại máy chủ Apache của bạn và thưởng thức các biểu tượng thú vị của bạn!


Một giải pháp chung tốt hơn là thay đổi Aliasthành Alias /icons/ "icons/"trong các phiên bản trước WAMPServer 3. Trong WAMPServer 3 trở lên, đây là mặc định và không cần thay đổi.
RiggsFolly

2

Bạn có thể làm theo tất cả các bước của @RiggsFolly đó là câu trả lời thực sự tốt, Nếu bạn không muốn tạo máy chủ ảo và muốn sử dụng như localhost / example / trước đó hoặc tương tự, bạn có thể sử dụng câu trả lời của @Arunu

Nhưng nếu bạn vẫn gặp sự cố, hãy sử dụng phương pháp này,

  1. Tìm thư mục wamp của bạn (Ví dụ: c: / Wamp /) nơi bạn đã cài đặt
  2. Goto Wamp / www /
  3. Mở tệp index.php
  4. tìm mã này $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. sửa đổi nó thêm localhost sau http: // $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Khởi động lại máy chủ wamp
  7. mở localhost xem các liên kết cập nhật

Hy vọng bạn có url của mình giống như phiên bản trước của máy chủ wamp.


Bạn có thể vui lòng đề xuất trên hoe chúng tôi làm điều đó cho xampp. tôi đã thử mọi cách, vẫn trang web của tôi chuyển hướng đến trang chủ xampp
Sushivam

1
$suppress_localhost = false;

Điều này đã làm các mẹo cho tôi.


1

Điều này hoạt động trên Wamp 3+.

  • Đi tới thư mục wamp (wamp / hoặc wamp64 /)
  • Mở wampmanager.conf
  • Tìm tham số urlAddLocalhost và đặt nó trên: urlAddLocalhost = "on"

Không cần thiết phải chỉnh sửa index.php trong thư mục www.


0

Re: Liên kết Wampserver LocalHost không hoạt động chính xác
Đây là vào tháng 6 năm 2014 với Wampserver2.5 (có thể họ sẽ sửa lỗi này trong các bản dựng sau).
Lưu ý: để sử dụng LocalHost: 8080 thay vì LocalHost, chỉ cần thực hiện các thay đổi thích hợp trong các chỉnh sửa được đề cập bên dưới.

Có 2 khía cạnh của vấn đề này -
Đầu tiên là có thể truy cập các mục trong "Dự án của bạn" từ trang chủ Wamp localhost.
Thứ hai là có thể truy cập chính xác các mục được liệt kê trong danh sách "Dự án của tôi" trên thanh tác vụ của Wampserver Icon.

Để khắc phục lỗi đầu tiên (để có thể truy cập các mục trong "Dự án của bạn" từ trang chủ Wamp localhost), bạn sẽ cần thực hiện như sau ...

Có 2 chỉnh sửa mà bạn phải thực hiện trong tệp index.php nằm trong thư mục wamp \ www của bạn (thường là C: \ wamp \ www)

1) trên Dòng 30 thay đổi

  $suppress_localhost = true;

đến

  $suppress_localhost = false;

2) trên dòng 338 thay đổi

  $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';

đến

  $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : 'http://localhost//').$file.'">'.$file.'</a></li>';

Sau khi bạn đã thực hiện các chỉnh sửa ở trên - nếu Wampserver đang chạy, chỉ cần làm mới trang máy chủ cục bộ và các thay đổi sẽ có hiệu lực ngay lập tức.

Để sửa mục thứ 2 (danh sách "Dự án của tôi" trên Thanh tác vụ Wampserver Icon): Bạn cần chỉnh sửa C: \ wamp \ scripts \ refresh.php

Xác định vị trí dòng 651 và thay đổi phần của dòng có nội dung

   Parameters: "http://'.$projectContents[$i].'/"; Glyph: 5

đến

   Parameters: "http://localhost//'.$projectContents[$i].'/"; Glyph: 5

Sau khi thực hiện loạt thay đổi thứ 2 này, bạn có thể phải buộc Wampserver làm mới danh sách "Dự án của tôi" bằng cách chuyển đổi tùy chọn Đặt Trực tuyến / Ngoại tuyến ở cuối Ứng dụng Khay biểu tượng Wamp.


Anh bạn tuyệt vời, cuối cùng một cái gì đó hoạt động! (đối với đi vòng quanh iis Jacking cổng 80 thực hiện một công việc trang web từ trang wamp localhost)
Cammy

-1
  1. kiểm tra biểu tượng máy chủ wamp có màu xanh lá cây hay không nếu nó có màu xanh lá cây thì nó đang hoạt động nếu không thì bạn phải làm theo các bước sau để làm

    a. Tất cả các chương trình nên được đóng trước khi chạy wamp vì hầu hết các trường hợp một số phần mềm như skype sử dụng cùng một cổng (80) mà wamp đang sử dụng.

    b. bạn có thể thay đổi cổng của skype: Tool-s-> oprions-> advanced-> kết nối bỏ chọn cổng sử dụng 80

  2. khởi động lại wamp nó sẽ hoạt động.

Trường hợp THỨ HAI

  1. Khi bạn nhấp vào dự án trong loalhost, nó không hiển thị phần trước localhost của tên dự án và do đó, có vẻ như wamp không hoạt động thì bạn phải làm một điều duy nhất

    . đi đến tệp wamp index.php và thay đổi $ Suppression_localhost = false; từ $ression_localhost = true; hoặc thử ngược lại nó sẽ hoạt động


-1

Điều hướng đến thư mục www của bạn (nếu bạn đang sử dụng máy chủ wamp) htdocs (nếu trên XAMPP). Mở admin.php của bạn và tìm kiếm nội dung dự án / hoặc chỉ cần truy cập trực tiếp vào dòng số 339 và thay đổi liên kết, chèn 'local host vào liên kết.

Cần làm việc ,,


-1

Tôi thấy việc tạo một miền con cục bộ theo dự án dễ dàng hơn rất nhiều (so với câu trả lời được chấp nhận) và yêu cầu Apache phân phát nhiều trang web theo tên.

Ví dụ: giả sử bạn đã tạo một dự án trong đó c:/wamp64/www/sites/mysite, để có thể truy cập nó tại http: //mysite.localhost, bạn chỉ cần thực hiện như sau:

1. Yêu cầu máy của bạn trả lời các tên khác nhau Thêm 127.0.0.1 mysite.localhostvàoC:\windows\system32\drivers\etc\hosts

2. Xóa bộ nhớ cache DNS của bạn Mở Command Prompt với tư cách quản trị viên và nhập net stop dnscache, sau đónet start dnscache .

3. Cho Apache biết nơi cần tìm Nhấp vào biểu tượng của Wamp trong khay, đi tới Apache -> httpd.conf, và thêm cái này vào cuối:

# Tells Apache to identify which site by name
NameVirtualHost *:80
# Tells Apache to serve the default WAMP Server page to "localhost"
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost> 
# Tells Apache to serve Client 1's pages to "client1.localhost"
# Duplicate and modify this block to add another client
<VirtualHost 127.0.0.1>
# The name to respond to
ServerName client1.localhost
# Folder where the files live
DocumentRoot "C:/wamp64/www/sites/mysite"
# A few helpful settings...
<Directory "C:/wamp64/www/sites/mysite">
allow from all
order allow,deny
# Enables .htaccess files for this site
AllowOverride All
</Directory>
# Apache will look for these two files, in this order, if no file is specified in the URL
DirectoryIndex index.html index.php
</VirtualHost> 

( nguồn )

4. Khởi động lại Apache Nhấp vào biểu tượng của Wamp trong khay, chọn "khởi động lại"

5. Xác định url cơ sở Chuyển đến thư mục dự án của bạn, thêm <base href="http://mysite.localhost" />vào <head>phần của bạn để ngăn chặn / liên kết đến gốc máy chủ bị hỏng.

Cá nhân, tôi tự động đưa mã html này vào mẫu của mình bằng cách sử dụng PHP (tương tự như $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;vậy), vì vậy tôi không cần phải xóa nó khi sản xuất.


-3

Xin chào, bạn cần mở index.php từ máy chủ wamp và thay đổi $ ức chế_localhost = false; từ $ression_localhost = true; sau đó wamp của bạn sẽ hoạt động tốt


2
Có rất nhiều câu trả lời nói chính xác điều này.
Vael Victus

1
Sau đó, bạn đã không đóng góp gì.
Vael Victus,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.