我用這個.htaccess
AddDefaultCharset utf-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]
DirectoryIndex index.php
RewriteRule ^([a-zA-Z0-9_-]{3,20})/([^/]+)/([^/]+)?$ index\.php?page=$1&s=$2&o=$3 [L]
RewriteRule ^([a-zA-Z0-9_-]{3,20})/([^/]+)?$ index\.php?page=$1&s=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]{3,20})/?$ index\.php?page=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]{3,20})?$ index\.php?page=$1 [L]
ErrorDocument 404 /404
一個重命名請求的URL三個參數
這是爲了避免在我的網址?
和&
的使用情況,然後我把我的網頁這樣
http://testsite/page/s/o
如果你只是做print_r($_REQUEST)
它會給你這個
Array(
page => page
s => s
o => o
)
爲了避免擴展,我的用戶以下機制
$file = $_REQUEST['page'] . ".php";
if (file_exists('inc/' . $file)) {
include('inc/' . $file);
}
希望它會爲你工作,以及
你誤解了這個用例。它會重寫**傳入的**網址。它不適應你的網頁。 (有一個mod_rewrite的解決方法來實現它,或者'mod_substitute'來替代你的頁面重寫,但是這兩個主題都是..) – mario