以下是 .htaccess 文件的一部分。
RewriteEngine On
RewriteBase /example/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule tilaukset home.php?page=orders
RewriteRule tilaustenhallinta home.php?page=ordersManage
RewriteRule jarjestelmaraportit home.php?page=ordersReports
RewriteRule kaikki-tilaukset home.php?page=allOrders
RewriteRule keskeneraiset-tilaukset home.php?page=inProgressorders
RewriteRule valmiit-tilaukset home.php?page=completedOrders
RewriteRule tuotannossa-tilaukset home.php?page=inProductionorders
RewriteRule lahetetyt-tilaukset home.php?page=shippedOrders
点击此元素<a href="tilaukset">Tilaukset</a>
,它会重定向到正确的位置(即orders.php ),但当我点击另一个包含不同属性<a href="kaikki-tilaukset">Kaikki tilaukset</a>
的链接时,它仍会打开同一个文件。当我从“ Kaikki tilaukset ”中删除“ tilaukset ”时,将其留作“ Kaikki ”。像这样:
RewriteRule kaikki home.php?page=allOrders
它正常工作,没有任何不好的事情发生。出于某种原因,它会检查整个论点。它找到相同的单词,然后使用它。如何解决这个问题?
答案 0 :(得分:1)
这一行:
RewriteRule tilaukset home.php?page=orders
表示任何URI包含tilaukset
,它也会捕获kaikki-tilaukset
将其更改为:
RewriteRule ^tilaukset home.php?page=orders
这^
意味着从tilaukset开始。
另一条规则:
RewriteRule kaikki-tilaukset home.php?page=allOrders
现在应该可以正常工作。