1
有誰能夠告訴我重寫規則,所以我可以做一個URL是這樣的:的.htaccess URL重寫
http://www.mysite.com/index.php?page=directory1/page
what I'm trying to do is remove the "index.php?page=" so i get a
"http://www.mysite.com/directory1/page"
有誰能夠告訴我重寫規則,所以我可以做一個URL是這樣的:的.htaccess URL重寫
http://www.mysite.com/index.php?page=directory1/page
what I'm trying to do is remove the "index.php?page=" so i get a
"http://www.mysite.com/directory1/page"
這就是Drupal這樣做;它與toneplex的例子非常相似,但它並沒有混淆擴展檢查,它在favicon.ico上增加了一個額外的檢查,這是許多瀏覽器自動請求的;如果你缺少favicon.ico,這將節省額外的打擊你的PHP代碼。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule^index.php [L]
我假設你正在試圖通過引導index.php文件的一切。所以試試看。任何不存在的文件或目錄將強制通過index.php文件。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php
鑑於您已經檢查過現有的文件和目錄,爲什麼要對RewriteRule中的文件擴展名進行附加檢查? – 2011-05-21 13:03:27
如果其中一個擴展名不存在,它將被髮送到Web服務器404,而不必由index.php文件 – toneplex 2011-05-21 13:11:21
來處理它似乎並不特別有用;如果你對這些丟失的文件有很多點擊,那麼你還有其他問題需要處理。我添加的示例檢查了favicon.ico,因爲瀏覽器會自動請求它,而不會將其存入您的HTML中,但其他檢查可能是多餘的(您無法猜測所有隨機擴展,並且他可能希望重定向結束的請求在其中一個擴展中)。 – 2011-05-21 13:16:37