2015-12-20 80 views
0

我想問一下.htaccess可能會改變網址更簡單。我有一個像這樣在我的本地主機的網址:在本地設置.htaccess並隱藏index.php

localhost/spsb/index.php 

localhost/spsb/index.php?page=student 

的問題是:

  1. 我怎樣才能改變上述存在的網址:

localhost/spsb

localhost/spsb/student 
  • 哪裏是正確的位置,以節省.htaccess文件?
  • 謝謝是一個很大的意見 我一直在到處尋找了很多,但沒有一個人能解決我的問題

    回答

    1

    使用URL重寫,

    對於Apache服務器:

    首先,您必須激活重寫模塊 (How to active mod_rewrite

    添加這些行到您的htaccess使重寫引擎

    Options +FollowSymlinks 
    
    RewriteEngine On 
    

    而此行重寫URL,只要你想

    RewriteRule ^spsb\/?$ spsb/index.php 
    RewriteRule ^spsb/([a-zA-Z]+)$ spsb/index.php?page=$1 [L] 
    

    對於Nginx的服務器:

    把這幾行「位置「範圍:

    if (!-e $request_filename) 
    { 
        rewrite ^spsb\/(.*)$ spsb/index.php?page=$1; 
    } 
    

    注意:locati .htaccess的相對於他進入網站結構的級別,如果他在一級網站/目錄/包含的規則是有限的網站/目錄結構

    爲無限制,我建議把它放進文件根目錄 ...或者你可以把規則直接進入你的虛擬主機配置

    如何檢查錯誤:

    • 首先有您重新啓動服務器以應用激活重寫 模塊
      (從htaccess的規則不要求重啓,只有模塊 修改)
    • 添加以下行到你的htaccess後 「RewriteEngine敘述上」:

      RewriteLog 「/無功/日誌/的Apache2/{your_log_site ...}」 < - 把你的路徑

      RewriteLogLevel 7

    • 檢查由「尾-f /無功/日誌/的Apache2/you_log_site。錯誤日誌」,查看是否 錯誤出現在resfresh頁面

    +0

    嘿@MTroy謝謝是一個很大的意見......我現在就試試 –

    +0

    我一直只是嘗試,但沒有工作,即使我已經在轉彎 httpd.conf中的LoadModule rewrite_module modules/mod_rewrite.so 我也把.htaccess放在htdocs的項目文件夾中 這個怎麼樣? –

    +0

    你的日誌說什麼? – MTroy