我試圖得到類似$ _ SERVER [「PATH_INFO」],但奇怪的服務器問題阻止我使用它的東西...htaccess的目錄,文件和變量
在我的應用程序,鏈接可以看起來像
www.domain.com/folder/file/variable
www.domain.com/folder/file
www.domain.com/file/variable or
www.domain.com/file/
使用.htaccess,我試圖去正確的頁面,而不是重定向到index.php或類似的。
到目前爲止,我有這個,這是不工作:)
RewriteRule ^(.+)$ /$1.php # page only
RewriteRule ^(.+)/(.+)$ /$1.php?x=$2 # page + variable
RewriteRule ^(.+)/(.+)$ /$1/$2.php # folder/page
RewriteRule ^(.+)/(.+)/(.+)$ /$1/$2.php?x=$3 # folder/page + variable
我相信,我需要用的RewriteCond%{} REQUEST_FILENAME -f來檢查,如果該請求是一個文件名或目錄。 ..但我無法使它工作...
變量可以包含所有怪異字符 - 這就是爲什麼我用點匹配......也許我應該盡力配合,只有AZ文件/文件夾名稱(自我不認爲他們將永遠不會包含任何東西,但az,_或 - )。
任何幫助是極大的讚賞,因爲它一直是近兩天的痛苦現在:)
1)由於模式的使用帶有較長的模式首先作爲啓動'^(。+)$'將匹配'/文件/'和'/文件/ variable'以及'/文件夾/文件/ variable'; 2)使用'[^ /] +'的(),而不是'^(+)$' - 這將幫助您將#1 – LazyOne