[英]Removing unwanted Get-Parameter in new Rewrite-URL
我有以下.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ((^((/)*admin(/)+).*)|(^admin$)) $0 [NS]
RewriteRule ^((?!\.).)*$ "system/scripts/startPageProcess.php?slug=$0" [NS]
</IfModule>
如果存在一個以“ admin /”開頭或等於“ admin”的URL,則不應進行重定向。 如果URL不同,則應使用URL作為“ slug” -Get-Parameter調用startPageProcess.php(例如,“ asdf”重定向到“ system / scripts / startPageProcess.php?slug = asdf”)。 到目前為止,該方法有效。
現在存在以下問題:如果我叫“ admin”,則沒有重定向-到目前為止很好-但是瀏覽器中顯示的URL更改為:“ admin /?slug = admin”,我不知道為什么。
我實際上不是.htaccess專家,所以我不知道為什么會這樣,如何解決此問題,或者是否可以使整個過程變得更容易。 所以請幫忙。
您需要添加最后一個規則標志,以便管理規則為
RewriteRule(((^((/) admin(/)+)。 )|((^ admin $))$ 0 [NS,L]
有這樣的規則:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^admin(/.*)?$ - [L]
RewriteRule ^([^./]+)/?$ system/scripts/startPageProcess.php?slug=$1 [L,QSA]
</IfModule>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.