簡體   English   中英

用於縮短URL的htaccess規則

[英]htaccess rule for shortening URL

我正在嘗試使用重寫規則來屏蔽和使用URL#1訪問URL#2

URL#1 http://www.domain.com/user/username/send
URL#2 http://www.domain.com/user.php?user=username&action=send

URL#1 http://www.domain.com/user/username/receive
URL#2 http://www.domain.com/user.php?user=username&action=receive

只有兩個變量是用戶名和發送/接收

您需要做的第一件事是將內容中的所有鏈接從具有用戶操作查詢字符串的鏈接更改為具有干凈外觀的URL(例如http://www.domain.com/user/username/send )。 然后,您需要將其添加到文檔根目錄中的htaccess文件(您的webroot, http://www.domain.com/http://www.domain.com/指向):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?user/([^/]+)/([^/]+)/?$ /user.php?user=$1&action=$2 [L,QSA]

您的網站之外的鏈接(例如在Google上)可能仍然指向包含查詢字符串的網址。 如果是這樣,您需要從外部301將對它們的請求重定向到看起來干凈的URL:

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /user\.php\?user=([^&]+)&action=([^&\ ]+)
RewriteRule ^ /user/%2/%3? [L,R=301]

試試這個規則:

RewriteEngine On
RewriteRule ^user\/([a-zA-Z0-9_-])\/([a-zA-Z])$ http://www.domain.com/user.php?user=$1&action=$2 [L,R=Permanent]

暫無
暫無

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

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