.htaccess - 使用 mod_rewrite 将假目录中的文件映射到实际目录
.htaccess - Map files inside fake directory to actual directory using mod_rewrite
在该网站上,学生将获得 link 登录名,其中 url 中包含学校名称。校名有无限可能。需要发生什么我需要重写
example.com/schoolname/anyfilename
到实际文件
example.com/pages/anyfilename?school=schoolname
学校名称可以是任何名称。
关于如何使用 .htaccess 文件实现此目的的任何建议?
编辑:我还需要重写子目录:
example.com/schoolname/directory/subdirectory/file
映射到
example.com/pages/directory/subdirectory/file?school=schoolname
我关于 "pages" 的问题的意思是说,如果您重写所有内容,您将进入重定向循环 = 错误 500。对于初学者,我建议仅在 uri 未指向时重写到现有文件或文件夹。
也就是说,这是我要使用的 .htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\w+)/(.*)$ /pages/?school= [L]
编辑:为了安全起见,我会在 RewriteRule 之前再添加一个 RewriteCond
RewriteCond %{REQUEST_URI} !^/pages
在该网站上,学生将获得 link 登录名,其中 url 中包含学校名称。校名有无限可能。需要发生什么我需要重写
example.com/schoolname/anyfilename
到实际文件
example.com/pages/anyfilename?school=schoolname
学校名称可以是任何名称。
关于如何使用 .htaccess 文件实现此目的的任何建议?
编辑:我还需要重写子目录:
example.com/schoolname/directory/subdirectory/file
映射到
example.com/pages/directory/subdirectory/file?school=schoolname
我关于 "pages" 的问题的意思是说,如果您重写所有内容,您将进入重定向循环 = 错误 500。对于初学者,我建议仅在 uri 未指向时重写到现有文件或文件夹。
也就是说,这是我要使用的 .htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\w+)/(.*)$ /pages/?school= [L]
编辑:为了安全起见,我会在 RewriteRule 之前再添加一个 RewriteCond
RewriteCond %{REQUEST_URI} !^/pages