我正在尝试以的形式创建指向旧网站内容的重定向
domain.com/fiction/UNIQUE/book
至sub.domain.com/fiction/UNIQUE/book
并非domain.com
上的所有页面都应重定向到sub.domain.com
。只是那些包含/fiction/
的。CCD_ 6是动态生成的CCD_。
因此,检查domain.com/fiction/
的存在并替换为sub.domain.com/fiction/
,然后添加字符串/UNIQUE/book
的其余部分应该很简单。
我看过Mod Rewrite和QUERY_STRING
的帖子,但我的理解有限,这似乎只适用于?查询样式动态生成的页面。
谢谢你的帮助。
您可以将以下代码用于您的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文档。