簡體   English   中英

.htaccess:Slugs和文件擴展名

[英].htaccess: Slugs and file extensions

我正在尋找一種方法來禁止訪問文件,如果沒有通過slug訪問。 例如,我有/members.php?page=login 我想通過強制用戶訪問/login (將長URL重定向到一個短的slu)來改變它,並阻止從長URL直接訪問。

當我嘗試做類似的事情:

RewriteRule ^members.php?page=login login [L,R=301]
RewriteRule ^login members.php?page=login [L]

它變成了一個無限循環(正如firefox所說:“Firefox檢測到服務器正在以永遠不會完成的方式重定向該地址的請求。”)。

我在文件開頭啟用了“選項”( Options +FollowSymLinks -MultiViews

我怎么能做對的?

謝謝。

嘗試這個:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^login$ index.php?page=login [L]

您可以使用以下內容:

RewriteEngine on
# externally redirect "/members.php?page=login" to "/login"
RewriteCond %{THE_REQUEST} /members\.php\?page=login [NC]
RewriteRule ^ /login [L,R]
#rewrite "/login" back to "/members.php?page=login"
RewriteRule ^login members.php?page=login [L]

暫無
暫無

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

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