URL 中的 URL 的正規表示式?

URL 中的 URL 的正規表示式?

我的 .htaccess 檔案中有以下行,但它不斷將我重定向到 404 錯誤。

RewriteRule ^path1/([a-zA-Z0-9_-]+)/(.+)(/?)$ /file.php?variable1=$1&variable2=$2 [nc]

一個範例連結是..

http://domain.com/path1/name23/http://domain2.com/stuff/is/here

我想將第二個 URL 轉移到變數2。

答案1

RewriteRule ^path1/([a-z0-9_-]+)/([^\?]+)$ /file.php?variable1=$1&variable2=$2 [NC]

試試上面的規則看看吧。您的模式不匹配,這就是您收到 404 錯誤的原因。順便說一句,我刪除了 AZ,因為 NC 無論如何都會使其不區分大小寫。

答案2

我認為只有 [NC] apache 正在硬碟上尋找一個名為 'file.php?variable1=$1&variable2=$2' (變數替換)的檔案。你可以嘗試使用[R,NC]或[PT,NC](這個需要mod_proxy)

答案3

將日誌等級提高到“調試”並查看 mod_rewrite 正在執行的操作。

相關內容