簡體   English   中英

在新的Rewrite-URL中刪除不需要的Get-Parameter

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM