我有我知道的是一個愚蠢的問題,但在SO和其他地方的答案不告訴我應該如何做。使用htaccess更新瀏覽器默認mod_rewrite字符串
我有一個的.htaccess的mod_rewrite這需要字符串,並使用它作爲index.php?nm=<value>
一個值,如下所示:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?pagenm=$1 [QSA]
我想設置的htaccess表明即使沒有pagenm
值被設定我的網頁URI,例如:www.mywebsite.com/
確實加載得很好,因爲index.php頁面有一個catch規則,如果沒有給出pagenm
值來使用默認頁內值,但我想要的是瀏覽器URL被更新(希望不刷新,重定向,加載頁面兩次):
如果沒有給定值,那麼htaccess的重寫,以welcome
使:
www.mywebsite.com
將始終顯示在瀏覽器中
www.mywebsite.com/welcome
我已經試過DirectoryIndex welcome
但這不更新URL。
這是通過定義一個重定向,但由於服務器處理重定向,你真的不加載頁面的兩倍。您從服務器獲取標題,然後瀏覽器ping新的地址並點擊它。像「重定向」/「」/ welcome「'應該就足夠了。另一種方法是使用JS來重寫歷史記錄,但這是爲了不考慮重定向而花費的大量精力。 – martinczerwi
我該如何告訴htaccess我將默認的'index'頁面呈現爲mod_rewrite'/ welcome'並重新加載,如果沒有mod_rewrite字符串存在?只要最終的PHP頁面沒有加載兩次就是我期望避免的。乾杯 – Martin
我剛剛編輯了評論,而你問:) – martinczerwi