htaccess 在第一行作業正常,但在第二行不作業。如果我洗掉第一行而不是第二行作業正常。為什么兩條線不能一起作業?
RewriteRule ^(.*) /single-services.php?slug=$1
RewriteRule ^blog-(.*)$ single-blog.php?slug=$1
uj5u.com熱心網友回復:
只需在您的檔案中更改它們的執行順序。由于您的第一條規則涵蓋了.*哪個是貪婪匹配,所以這就是為什么它總是執行第一個。由于我們現在更改了規則的順序,當請求以博客開頭的 URI 時,它不會由.*規則提供服務。
我還在您的規則中添加了必要的標志,這將有助于規則的順利執行。請確保在測驗您的 URL 之前清除您的瀏覽器快取。
RewriteEngine ON
RewriteRule ^blog-(.*)$ single-blog.php?slug=$1 [NC,QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ single-services.php?slug=$1 [QSA,L]
注意:/如果您的 3 個檔案(single-blog.php、single-services.php 和 .htaccess)存在于根檔案夾中,那么在您重寫 php 檔案(在規則的右側)之前,我也已將其洗掉在兩個規則/之前single-blog.php和添加single-services.php
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/449438.html
上一篇:For回圈優化以創建鄰接矩陣
