2017-04-21 55 views
0

所以,我遇到了查詢字符串的問題,並重寫它們看起來「更漂亮」 我的網站是:localhost/admin /所以當上傳到我的服務器時也是/ admin目錄下,並在.htaccess文件看起來是這樣的:htaccess用一個動態空查詢字符串重寫多個查詢字符串

RewriteEngine On 

# redirect URL with empty query string to index.php 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^/?(.*)$ /admin/index.php?$1 [NC,L] 

不幸的是,我的管理面板設計,所有的頁面都鏈接到index.php文件。所以當我最初用於請求http://localhost/admin/?users時,它會顯示所有用戶的列表。我想使這個更漂亮,所以我使用了上述htaccess規則,並提出了http://localhost/admin/users。出現兩個問題:

  1. css /下的admin文件夾中的css文件無法訪問,因此沒有應用這些樣式。
  2. 這個?用戶頁面在php中包含使用GET參數的分頁,所以它看起來有點像http://localhost/admin/users&page=1,並且看起來像http://localhost/admin/?users&page=2

所以基本上我想要做的就是讓代碼看起來更像這樣:http://localhost/admin/users/page/1。不幸的是,我不能硬編碼用戶參數,因爲我有其他部分,如「網站」,我也會有一個編輯用戶頁面與ID等。所以我想知道如果有人可以幫助我解決這個問題的最好方法或如何我可以修復上面的htaccess規則?唯一有幫助的是:.htaccess mod_rewrite Unknown number of Variables of a GET form,但我仍然對如何在url前面實現多個空的GET變量而失去了興趣。

謝謝!

回答

0

這是我做的,

首先在你的網頁的頭部分CSS部分使用<base href="domain.com/">

你正在重定向完整的URL查詢index.php字符串,我假設你正在檢索是$_SERVER['QUERY_STRING'];

所以我建議你把你的分頁網址改爲http://localhost/admin/users/page/1

在這之後,當你在index.php文件檢索它們使用爆炸功能爆炸字符串,

$arr = explode('/',$_SERVER['QUERY_STRING']); 

裏面你$arr您將有所有你的價值觀,你的查詢字符串得到了他們。