大家 我这里有一个问题。 我的网站由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新手,还在学习 请具体,请。
非常感谢!
答案 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>