這是我整個的.htaccess:.htaccess:如何處理RewriteRule中的斜槓(/)?
RewriteEngine On
RewriteBase /~user/sitetest/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ view.php?id=$1
當我訪問http://localhost/~user/sitetest/abc123,它加載$ _GET [ 「身份證」]值,一切工作正常。這個棒極了!
但我想它在http://localhost/~user/sitetest/view/abc123(通知 「視圖/」)工作
所以我試着用替換RewriteRule
:
RewriteRule ^view/(.+?)/?$ view.php?id=$1
,但無濟於事!它似乎沒有從view.php加載$ _GET []。我甚至嘗試呼應了$ _GET []的價值,但它爲空白顯示出來,當我訪問http://localhost/~user/sitetest/view/abc123
所以我編輯它,看看這會工作:
RewriteRule ^view-(.+?)/?$ view.php?id=$1
當我訪問http://localhost/~user/sitetest/view-abc123它(注意「 - 」而不是「/」)
那麼它與斜槓有什麼關係?我迷路了,一直在努力弄清楚這一點。
編輯:
我仍然有問題,但我注意到,當我嘗試:
RewriteRule ^test/(.+)/?$ view.php?id=$1
而且訪問http://localhost/~user/sitetest/test/abc123它的工作! 所以似乎與「view.php」和「view /」有衝突......所以在最壞的情況下,我會重命名view.php。但我仍然想弄清楚究竟發生了什麼問題。
剛剛給了這一槍,可悲的是,它沒有奏效。 – Aaron 2011-12-26 18:56:15
啊,對不起。否則,我看不出有什麼問題。 – 2011-12-26 19:06:08
我編輯了我的主帖。也許它可能引發一個想法? – Aaron 2011-12-26 19:07:59