如何更改URL的第一部分并在htaccess中维护其余部分

时间:2014-07-09 09:50:55

标签: apache .htaccess mod-rewrite redirect

我的网站中有网页,根据网页中字段的值自动填充网址。

示例网址为:

http://example.com/students/uk/nikki/86/18-25

其中nikki / 86 / 18-25是动态细分。

我要做的是简单地制作一个htaccess重定向规则,如果用户将转到:

http://example.com/students/uk/nikki/86/18-25

它们将自动重定向到:

http://example.com/student/uk/nikki/86/18-25

所以这只是让学生分段给学生。由于nikki / 86 / 18-25段每页更改,因此在重定向期间会保留它们。

这是否可以在htaccess中使用?

1 个答案:

答案 0 :(得分:0)

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

Options -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^students/uk/([^/]+) student/uk/$1 [L,R,DPI]

如果您对重定向工作感到满意,可以将R更改为R=301以使其永久化。 这假设mod_rewrite 已为htaccess文件激活。 如果您不确定,要检查是否安装了mod_rewrite,请查看phpinfo();输出中已安装模块的列表 默认情况下,不为htaccess文件启用mod_rewrite。如果您要管理自己的服务器,请打开httpd.conf 并确保webroot目录块包含以下行之一:AllowOverride FileInfoAllowOverride All