我听说可以使用web.config
文件完成此操作。我想这样做,例如,我的网址http://help.BHStudios.org/site
可能会转到http://BHStudios.org/help.php?section=site
,或者http://i.BHStudios.org/u3Hiu
可能会重定向到存储在数据库中的其他网址,并使用哈希u3Hiu
作为关键,或者如果出现问题并且内部文件结构像http://Kyli.BHStudios.org/http/bhstudios/v2/self/index.php
那样暴露(GoDaddy服务器因任何原因而发生的事情),它会将其更改为其预期的URL {{ 1}}之前,用户已曝光。
由于我之前从未这样做过,你还能解释一下你为什么给出答案吗?
答案 0 :(得分:3)
你的htdocs目录中的服务器httpd.conf或.htaccess文件中的一些Apache mod_rewrite rules将完成你想要的大部分工作。
RewriteEngine On
RewriteBase /
# Default Rule - for non physical objects (not a file or directory):
# Internally rewrite (user won't see the URL) to /index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ /index.php [L]
#If the Browser request contains a .php, instruct the browser to remove it.
RewriteCond %{THE_REQUEST} \.php [NC]
RewriteRule ^/?(.*)\.php$ http://%{HTTP_HOST}/$1 [R=301,NC,L]
# Specific rule
RewriteRule ^/?site /help.php?section=site
实际文件系统对象的屏蔽效果不是很完美,而且略显无意义,因为用户只需右键单击并查看任何提供的页面上的源代码,即可获得实际的URL。