我有以下目录结构:
主页: /domains/example.com/public_html/public/index.php
以下是.htaccess脚本,它使www.example.com能够显示正常工作的主页:
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
现在我想添加一个可通过子域和类似目录访问的博客: blog.example.com 和 www.example.com/blog 。
博客索引位于:/domains/example.com/public_html/blog/index.php
我应该向htaccess添加什么才能启用此功能?
我试过了:
RewriteCond %{REQUEST_URI} ="blog"
RewriteRule ^.*$ /blog/index.php [L]
但无法查看索引或任何其他测试文件。 blog.example.com产生“真实”404错误,www.example.com / blog显示Zend使用的“友好”404页面。我做错了什么?
答案 0 :(得分:0)
你不应该在两个域上访问一个博客,因为这会导致内容不同,而不是seo友好。
如果你只是将一个具有301状态的uri重写为另一个uri,那会更好。
RewriteCond %{HTTP_HOST} = ^www\.somedomain\.de$
RewriteRule /blog/(.*) http://blog\.somedomain\.de/$1 [L,R=301]
RewriteCond %{HTTP_HOST} = ^blog\.somedomain\.de$
RewriteRule ^.*$ /blog/index.php [L]
告诉我这是否适合你。我认为由于RewriteCond,第二条规则不应与第一条规则发生冲突。无论如何,我只是想帮忙。我没有测试过这个。如果第一次尝试不起作用,请不要投票给我:)
平安!
编辑:在此示例中,我使用blog.somedomain.de作为您博客的唯一可能地址。 somedomain.de/blog/将被重定向到blog.somedomain.de