首先:如果你對這個問題有更好的標題,請告訴我。 你好,我有一個網站,使用變量加載內容。 讓我給你解釋一下。htaccess根據網址獲取一個或兩個參數PHP
我的指數php文件:
<?php
#check if get parameter page exists
#check if file exists
require $_GET['page] . '.php'; //if it exists require its content
?>
這樣一來用戶可以去我的網站,並寫出像下面這些的網址:
http://localhost/loremipsum?page=home
http://localhost/loremipsum?page=help
但是爲了得到一個更清潔的URL我編輯了我。 htaccess文件的URL得到像這樣的:
http://localhost/loremipsum/home
http://localhost/loremipsum/help
的的.htaccess: RewriteEngine敘述在 RewriteBase/ 的RewriteCond%{} REQUEST_FILENAME!-f 的RewriteCond%{} REQUEST_FILENAME!-d 重寫規則^(。*)/ loremipsum /?PG = $ 1 [L]
但我得一個地步,我需要其他的參數,在接下來的網址我想有userpreferences
爲page
參數和something
作爲fav
參數
像這樣的URL將工作:
http://localhost/loremipsum/userpreferences&fav=something
但目標是要得到這樣一個網址:
http://localhost/loremipsum/userpreferences/something
的問題是什麼,我都試過工作過,這是我認爲它應該工作,但事實並非如此:
RewriteRule ^(.*)/userpreferences/(a-zA-Z0-9)+ /loremipsum/?pg=$1&fav=$2 [L]
UPDATE:
我只知道,如果頁面參數等於本使用UserPreferences規則應該被應用,我想這樣做
RewriteRule ^userpreferences/(a-zA-Z0-9)+ /loremipsum/?pg=userpreferences&fav=$1 [L]
但它不會工作,它似乎因爲userpreferences不會是一個字符串,我得到一個服務器錯誤。
嘿謝謝你,我不知道我重寫我的規則的方式是導致只有一個get變量的所有參數,php代碼是關鍵,沒有其他任何修改,這是我最簡單的方法直到現在才發現。非常感謝你的時間:) –
不客氣。任何時候 :) –