重定向到URL中具有名称的子目录

时间:2014-07-22 01:31:10

标签: .htaccess

域名:domain.com 子目录:nz

方案:

  • domain.com - > domain.com/nz /
  • domain.com/anything/ - > domain.com/nz/anything /
  • domain.com/404page - > domain.com/nz/404page

修改

  • 同样在方案中 - domain.com/nz - > domain.com/nz

如何使用.htaccess实现这一目标?

2 个答案:

答案 0 :(得分:1)

尝试将此添加到您的网络文档根文件夹中的.htaccess文件中(通常为public_htmlhtdocs):

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(?!nz) nz%{REQUEST_URI} [L,R,DPI]

如果您对重定向有效,可以将R更改为R=301以使其永久化。

这假设mod_rewrite 已为.htaccess文件激活。 如果您不确定,要检查是否安装了mod_rewrite,请查看phpinfo();输出中已安装模块的列表 默认情况下,{_ 1}}文件未启用mod_rewrite。如果您要管理自己的服务器,请打开.htaccess 并确保webroot目录块包含以下行之一:httpd.confAllowOverride FileInfo

答案 1 :(得分:0)

尝试:

RedirectMatch ^/(?!nz/)(.*)$ /nz/$1

或:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(?!nz/)(.*)$ /nz/$1 [L,R]