需要Apache重定向规则。谢谢!

时间:2010-11-08 03:29:10

标签: apache redirect

大家 我这里有一个问题。 我的网站由Mediawiki提供支持, 这意味着,访问者应该访问这样的链接:

hxxp://www.example.com/wiki/SOMETHING

如果他试图访问其他内容,我想将用户重定向到主页:

hxxp://www.example.com/NOTwiki/SOMETHING -> hxxp://www.example.com/wiki/Main_Page

hxxp://www.example.com/NOTwiki -> hxxp://www.example.com/wiki/Main_Page

“/ wiki”区分大小写, 这意味着:

hxxp://www.example.com/WiKi/SOMETHING    -> hxxp://www.example.com/wiki/Main_Page

我正在使用这样的虚拟主机:

<VirtualHost 12.34.56.78:80>
ServerName example.com
ServerAdmin admin@example.com
ServerAlias www.example.com
DocumentRoot /srv/www/example/public_html/mediawiki/
ErrorLog logs/AP/error_log
</VirtualHost> 

我是Apache新手,还在学习 请具体,请。

非常感谢!

1 个答案:

答案 0 :(得分:1)

此配置应为:

<IfModule mod_rewrite.c>
   RewriteBase /
   RewriteEngine on

   RewriteCond %{ENV:REDIRECT_STATUS} 200
   RewriteCond %{REQUEST_URI} ^index.php
   RewriteRule .* - [L]

   RewriteRule !^wiki(/.*)?$ wiki/Main_Page [R=301,L]

</IfModule>

RewriteCond / RewriteRule说“如果路径的起点不是/ wiki,则使用301重定向(R = 301)将所有URL重写为/ wiki / Main_Page,并且不再处理任何规则(L)”< / p>