Tôi đang sử dụng tệp .htaccess để yêu cầu trực tiếp thư mục tới tệp php tùy chỉnh cung cấp thông tin về thư mục đó (và tôi muốn url hiển thị bởi trình duyệt không thay đổi).mod_rewrite: thêm dấu gạch chéo sau?
Đây là phần liên quan của tệp .htaccess.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /myphp.php?url=%{REQUEST_URI} [QSA,L]
này hoạt động tốt nếu bạn đi vào một thư mục và bao gồm một dấu gạch chéo:
http://domain.com/path/
Nhưng mà không có dấu gạch chéo, nó không
http://domain.com/path
không Url (hiển thị trong trình duyệt) biến thành:
http://localhost:8888/path/?url=/path
Tôi đã thử khắc phục điều này bằng cách thêm quy tắc trên quy tắc này:
RewriteCond %{REQUEST_FILENAME} -D
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]
Nhưng điều đó không hiệu quả đối với tôi.
Làm cách nào để có được .htaccess để thêm dấu gạch chéo sau nếu bỏ qua và sau đó hành động giống như nó đã ở đó?
Cảm ơn bạn
Cập nhật: Theo yêu cầu, đây là toàn bộ sự việc.
<IfModule mod_rewrite.c>
RewriteEngine On
#force trailing slashes on real directories
RewriteCond %{REQUEST_FILENAME} -D
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]
#use the directory viewer on directories without an index page
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /myphp.php?url=%{REQUEST_URI} [QSA,L]
</IfModule>
Dựa vào những gì bạn đang mô tả tôi nghĩ rằng có điều gì đó sai trái với một phần khác của tệp '.htaccess' của bạn, vì vậy bạn có nhớ đăng toàn bộ nội dung không? –