2010-03-14 9 views
5

Chịu với tôi khi tôi cố gắng tìm hiểu thêm về các quy tắc chuyển hướng .htaccess - Tôi là một giao diện người dùng chuyên nghiệp và tôi đang làm tốt nhất để nâng cao kỹ năng viết mã ngôn ngữ của tôi ngoài HTML/CSS/PHP, v.v.Sử dụng ghi đè/chuyển hướng htaccess để tệp PHP đơn lẻ có thể hiển thị dữ liệu theo các biến GET/POST

Vì vậy, những gì tôi có là tệp index.php có chứa một menu - khá đơn giản. Nếu Javascript được kích hoạt trên máy tính người dùng thì các biểu mẫu được hiển thị bên dưới trình đơn bằng cách sử dụng các tiện ích jQuery đơn giản, với mỗi liên kết có một 'return false;' được áp dụng.

Điều tôi đang cố gắng làm cho trang có thể truy cập được bằng JS bị tắt, vì vậy thay vì chuyển hướng người dùng đến trang khác, tôi muốn sử dụng các biến POST hoặc GET từ mỗi liên kết, để hiển thị các biểu mẫu khác nhau. . bên trong file index.php cùng - nhưng có URL phản ánh sự lựa chọn đơn

Dưới đây là một ví dụ sử dụng các mục menu được đặt tên - Trang chủ, Giới thiệu, Form1 và Form2:

với JS trên, nhấp vào của các nút ví dụ trên chỉ đơn giản là trượt biểu mẫu hoặc chứa dữ liệu xuống trang.

Với JS tắt, nếu người dùng nhấp vào liên kết 'Giới thiệu', tôi muốn viết lại URL là http://domain.com/about - nhưng giữ người dùng trên trang index.php (vì đó là trang duy nhất) và có thể để sử dụng biến POST hoặc GET để hiển thị PHP bằng cách sử dụng.

Vì vậy, việc truy cập http://domain.com/index.php?page=about sẽ hiển thị http://domain.com/about trong URL nhưng chuyển biến GET 'trang' vào tệp index.php.

Hy vọng rằng có ý nghĩa .. và tôi chắc chắn có nhiều cách để thực hiện việc này, vì vậy nếu bạn có ý tưởng về cách cải thiện nó, bằng mọi cách, tôi rất muốn nghe nó!

Cảm ơn một lần nữa Revive

Trả lời

7

mod_rewrite:

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ /index.php?page=$1 [L] 
+0

tôi đã cố gắng này ... nhưng bây giờ các tập tin CSS wont tải .. bất kỳ suy nghĩ? Dưới đây là một tôi đã mày mò với:! RewriteEngine On RewriteBase / RewriteCond% {REQUEST_FILENAME} -f # bỏ qua bất kỳ tập tin hiện có RewriteCond% {REQUEST_FILENAME} -d # bỏ qua bất kỳ thư mục hiện RewriteRule. /index.php [L] – revive

+0

Vâng, tôi có nghĩa là '% (REQUEST_FILENAME}' Cố định. –

+0

gotcha .. ok, tôi đã thử nghiệm nó với những thay đổi và không có con xúc xắc. Tôi đang sử dụng URL này: http://localhost/proj/name/index.php?page=test3 và đã thử: http: // localhost/proj/name/test3 nhưng có nội dung: URL yêu cầu /index.php không được tìm thấy trên máy chủ này Suy nghĩ? – revive

Các vấn đề liên quan