如何才能为主页进行内部/隐形mod重写

时间:2012-06-03 19:09:58

标签: apache mod-rewrite

我有一些不同的mod重写,但它们运行良好。但最简单的不是那么好。我只是不想在我的索引上显示一个不可见的子页面。

因此http://foliodock.com显示http://foliodock.com/blog/index.php?p=4,但仍然只显示浏览器栏中的域名。目前的守则是

  RewriteRule ^$ blog/index.php?p=4 [L]

在实际网站上,它显示了我的wordpress博客中启用重定向的foliodock.com/blog/home原因,但如果我停用它们blog / index.php?p = 4就会显示它应该。

我如何重定向隐形或内部?

我在主根目录中有一些额外的重定向和索引文件,所以我不能虚拟主机到博客文件夹等。

完整重定向是

# force trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]

# force not to use www
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

# Rewrite Base Url to Blog
RewriteRule ^$ blog/index.php?p=4 [L]

# Skip pier, thumb and blog
RewriteRule ^(pier|timthumb|blog)($|/) $ [L]

# load the index file
RewriteRule ^([^/]*)/$ index.html [L]
RewriteRule ^([^/]*)/([^/]*)/$ /index.html [L]

对不起这个愚蠢的问题,但我似乎是盲目的?!

1 个答案:

答案 0 :(得分:1)

我只需要为客户解决这个问题。

  # make homepage the wordpress index
  RewriteCond %{REQUEST_URI} ^(|/)$
  Rewriterule ^(.*)$ /wordpress/ [L]

这使主页重定向(不可见)到wordpress索引页面。我在Zend项目中使用它,所以这个条件和规则在重写条件和使zend工作的规则之前进行。

警告,重写规则不是我的专业领域;在生产服务器上使用它之前要彻底测试它。