[英]Redirecting and rewriting multiple urls with htaccess
我正在嘗試重定向和重寫以下URL,但在某些情況下,我想保留一些值,但對URL隱藏。 這是我想要獲得的示例:
我有以下網址:
我想得到這個網址:
我有這段代碼,前兩個示例運行良好,但是橙色示例不起作用:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} /\?a=orange&b=([^\s&]+)&c=([^\s&]+)&d=([^\s&]+) [NC]
RewriteRule ^ /orange/%3/? [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/orange/([^/.]+)/?$ ?a=orange&b=%1&c=%2&d=([^\s&]+) [L,QSA]
RewriteCond %{THE_REQUEST} /\?a=([^\s&]+) [NC]
RewriteRule ^ /%1/? [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/.]+)/?$ ?a=$1 [L,QSA]
</IfModule>
您可以嘗試:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/\?a=([^&]+)&b=([^&]+)&c=([^&]+)&d=([^&\s]+) [NC]
RewriteRule ^ /%1/%4? [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*?)/(.*?)/?$ /?a=$1&d=$2 [QSA,NC,L]
我已經解決了將“意大利面條代碼”遷移到Laravel框架並使用文件route.php傳遞變量和刀片模板以最大程度地減少此變量使用的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.