[英]Mod Rewrite Dynamic Paths (no query)
我正在嘗試以以下形式創建對舊網站上內容的重定向:
domain.com/fiction/UNIQUE/book
到sub.domain.com/fiction/UNIQUE/book
並非domain.com
上的所有頁面都應重定向到sub.domain.com
。 只是包含/fiction/
的那些。 UNIQUE
是動態生成的ID
。
因此,這應該很容易檢查domain.com/fiction/
的存在,並用sub.domain.com/fiction/
代替,然后添加其余字符串/UNIQUE/book
。
我看過Mod Rewrite並使用QUERY_STRING
,但是我的低估是有限的,並且這似乎僅適用於?query樣式的動態生成頁面。
謝謝你的幫助。
您可以將以下代碼用於htaccess文件:
RewriteCond %{HTTP_HOST} ^.+$
RewriteRule ^(fiction/.*)$ http://sub.%{HTTP_HOST}/$1 [L,R=301]
http://domain.com/fiction/UNIQUE/book
將重定向到http://sub.domain.com/fiction/UNIQUE/book
。 http://domain.com/scifi/UNIQUE/book
不會被修改。
您的子域是靜態的還是取決於UNIQUE標識符?
如果它是靜態的,則應使用以下技巧:
# Turn on rewrite engine
RewriteEngine On
# Do not rewrite real files
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*/ - [L]
# Your important rule goes here; Accepted as unique ids are alphanumeric strings
RewriteRule fiction/([A-Za-z0-9]*)/book http://sub.domain.com/fiction/$1/book
有關更多信息,請參見相應的apache文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.