簡體   English   中英

httaccess 重定向到新的 URL 有條件

[英]httaccess redirect to new URL with conditions

嘗試創建一個重定向到新的 URL 的 htaccess 文件,但條件基於 URI 的起始值。 例如:

如果

example.com/piasjgasngan 將重定向到http://example2.com/index.php?id=paiajgasngan

(uri 中 p 的第一個字母將是傳遞給新 URL 的條件)

如果

example.com/x9q8wutjgj 將重定向到 URL example2.com/download_app.html

(uri中x的第一個字母將是條件)

否則所有其他 URI 將重定向到不同的 URL

example.com/89qwtjggjqa 將重定向到 example2.com/invalid_URI.html

我嘗試了許多不同的條件

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$ [NC]
RewriteCond ^p$ [NC]
RewriteRule .* http://example2.com\P\index.php=id={REQUEST_URI} [R=301,NC,OR]
RewriteCond ^x$ [NC]
RewriteRule .* http://example2.com\download_app.html [R=301,NC,OR]
RewriteRule .* http://example2.com\bad_URI.html [R=301,L]

所有嘗試發送到 example.com/download_app.html

希望我的例子能提前確定我想要完成的工作 TY

您能否嘗試以下,根據您顯示的示例編寫。 請確保在測試 URL 之前清除瀏覽器緩存。

RewriteEngine ON
##First character is p OR x of URI condition.
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteCond %{REQUEST_URI} ^/(p|x)(.*)/?$ [NC]
RewriteRule ^(.)$ http://example2.com/index.php?id=%1%2 [L]

##Anything else uri condition.
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteRule ^(.*)$ http://example2.com/invalid_URI.html [L]

暫無
暫無

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

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