.htaccess来自交换目录

时间:2016-05-19 14:06:47

标签: apache .htaccess mod-rewrite url-rewriting

所以我在root / public_html /目录下安装了这个媒体wiki,我从一开始就在htaccess上使用重写引擎(如建议的here)来重定向我的网站,例如(domain.com)到(domain.com/wiki/),代码如下。

RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

我还在public_html / site /目录下安装了wordpress。 我想做的是保持wiki重写规则,除了主域名,我想添加另一个重写规则,对于wordpress安装也会做同样的事情,但是为主域重写。

所以访问

  • domain.com/about-us会在domain.com/site/about-us
  • 上显示什么
  • domain.com会在domain.com/site上显示最新信息
  • domain.com/wiki仍然会以相同的方式运行,只是根域会显示wordpress网站而不是wiki。

为网站添加第二次重写规则的方法是什么,并为主页保持wiki 之外?

1 个答案:

答案 0 :(得分:1)

你应该可以这样试试。

RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]

RewriteRule ^((?!index\.php).*)$ site [L]

请确保 site 文件夹中的.htaccess文件包含正确的重写库。

我个人会有不同的域名。像wiki.example.com一样,而不是所有这些重写。然后可以拥有它自己的SEO代表。