簡體   English   中英

如何使用.htaccess正確重定向?

[英]How can I redirect correctly with .htaccess?

目前,我正在為網站開發項目。 我只有一個問題。 我的.htaccess無法正確重定向。

在我的項目上,用戶可以注冊,並且有一個成員列表。 成員列表按A到Z排序,您可以在頁面上按以下方式選擇它: 單擊此處時,單擊一個字母,它將向您顯示在該特定字母上注冊的用戶

問題是它不會像我在.htaccess中一樣重定向

我嘗試了很多事情並嘗試進行搜索,但找不到任何解決方法

這是.htaccess的樣子:

RewriteRule ^memberlist memberlist.php

RewriteRule ^memberlist/show/(.*) memberlist.php?show=$1

這是在PHP文件中

echo $content_1;
for($letter = 0; $letter <= 13; $letter++) {
    echo "- <a href='/memberlist/show/".$array[$letter]."'>".$array[$letter]."</a> \n";
}
echo "-<br> \n";
for($letter = 14; $letter <= 25; $letter++) {
    echo "- <a href='/memberlist/show/".$array[$letter]."'>".$array[$letter]."</a> \n";
}
echo "-<br> \n";
for($cijfer = 1; $cijfer <= 9; $cijfer++) {
    echo "- <a href='/memberlist/show/".$cijfer."'>".$cijfer."</a> \n";
}

正如您在代碼中看到的那樣,我想將用戶重定向到這樣的特定字母:mydomain.com/memberslist/show/A,但是它不起作用,如果我這樣做mydomain.com/memberslist.php?show=A它會工作。

對不起,我英語不好(我是荷蘭人)

規則RewriteRule ^memberlist memberlist.php甚至對於mydomain.com/memberlist/show/A也將匹配,因為regex ^memberlist僅檢查路徑是否以memberlist

而是將第一條規則寫為:

RewriteRule ^memberlist$ memberlist.php

$表示在成員列表之后字符串必須結束。 這意味着它將僅匹配mydomain.com/memberlist

要添加,您可以通過以下站點輕松測試您的規則: https : //htaccess.madewithlove.be/
它將向您顯示哪些規則匹配給定的URL。 請記住,將選擇第一個匹配的規則。 這意味着另一種解決方案就是顛倒您的規則,以便更具體的規則排在第一位。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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