簡體   English   中英

.htaccess RewriteRule無法用於具有相同代碼的兩個值

[英].htaccess RewriteRule not working for two values with same code

醫生守則(工作中)

RewriteEngine On
RewriteRule ^doctors/([0-9]+)\/([a-z]+)\/([a-z]+)\/?$ doc.php?doc_code=$1&firstname=$2&lastname=$3 [L,NC,R=301] 
RewriteRule ^doctors/([0-9]+)\/([a-z]+)\/([a-z]+)\/([a-z]+)\/?$ doc.php?doc_code=$1&firstname=$2&lastname=$3&action=$4 [L,NC,R=301] 

葯房代碼(無效)

RewriteRule ^/pharmacy/([0-9]+)\/([a-z]+)\/?$ pharmacy.php?id=$1&name=$2 [L,NC,R=301] 
RewriteRule ^/pharmacy/([0-9]+)\/([a-z]+)\/([a-z]+)\/?$ pharmacy.php?id=$1&name=$2&action=$3 [L,NC,R=301] 

當我使用下面的代碼時,它對於葯房來說很好用,但是目的並沒有解決,因為我希望鏈接顯示為“ /葯房”而不是“ /醫生”:

 RewriteRule ^/doctors/([0-9]+)\/([a-z]+)\/?$ pharmacy.php?id=$1&name=$2 [L,NC,R=301] 
    RewriteRule ^/doctors/([0-9]+)\/([a-z]+)\/([a-z]+)\/?$ pharmacy.php?id=$1&name=$2&action=$3 [L,NC,R=301] 

完整的.htacess代碼:

ErrorDocument 404 /404.php
AddDefaultCharset UTF-8
Header unset ETag
FileETag None


RewriteEngine On
RewriteRule ^doctors/([0-9]+)\/([a-z]+)\/([a-z]+)\/?$ doc.php?doc_code=$1&firstname=$2&lastname=$3 [L,NC,R=301] 
RewriteRule ^doctors/([0-9]+)\/([a-z]+)\/([a-z]+)\/([a-z]+)\/?$ doc.php?doc_code=$1&firstname=$2&lastname=$3&action=$4 [L,NC,QSA] 

RewriteRule ^pharmacy/([0-9]+)/([a-z]+)/?$ pharmacy.php?id=$1&name=$2 [L,NC,QSA] 
RewriteRule ^pharmacy/([0-9]+)/([a-z]+)/([a-z]+)/?$ pharmacy.php?id=$1&name=$2&action=$3 [L,NC,QSA]

取出斜線並關閉MultiViews選項:

Options -MultiViews

RewriteEngine On

RewriteRule ^pharmacy/([0-9]+)/([a-z]+)/?$ pharmacy.php?id=$1&name=$2 [L,NC,QSA] 
RewriteRule ^pharmacy/([0-9]+)/([a-z]+)/([a-z]+)/?$ pharmacy.php?id=$1&name=$2&action=$3 [L,NC,QSA]

另外,您也不需要R=301因為您不想在瀏覽器中顯示內部URL。

暫無
暫無

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

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