Php 如何创建包含单个文件的目录?
我将签署企业在我的网站上做广告,我希望他们有一个直接的URL供他们的客户访问 比如,不是Php 如何创建包含单个文件的目录?,php,url,url-rewriting,Php,Url,Url Rewriting,我将签署企业在我的网站上做广告,我希望他们有一个直接的URL供他们的客户访问 比如,不是www.website.com/page.php?id=3242344 我想要www.website.com/businessname 有没有一个简单的方法可以做到这一点?我已经搜索并看到了很多人们试图做的事情,但我没有看到任何与我想做的事情相同的事情 我使用的是VPS,我想确保我没有打开权限,这样任何人都可以进入那里,把事情搞砸 此外,这些用户不会自己注册。我会这么做的 获得最终结果的最简单方法就是我所寻找
www.website.com/page.php?id=3242344
我想要www.website.com/businessname
有没有一个简单的方法可以做到这一点?我已经搜索并看到了很多人们试图做的事情,但我没有看到任何与我想做的事情相同的事情
我使用的是VPS,我想确保我没有打开权限,这样任何人都可以进入那里,把事情搞砸
此外,这些用户不会自己注册。我会这么做的
获得最终结果的最简单方法就是我所寻找的。谢谢 基本URL重写可以工作 添加到.htaccess文件中
RewriteEngine on
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
然后使用PHP将businessname重写为公司ID/查找数据
当然。如果您需要更复杂的重写,htaccess重写规则是一门完整的科学…基本URL重写可以工作 添加到.htaccess文件中
RewriteEngine on
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
然后使用PHP将businessname重写为公司ID/查找数据
当然。如果您需要更复杂的重写,那么htaccess重写规则是一门完整的科学。再重复一下jtheman所说的内容,并稍加解释: 创建名为.htaccess的文件,其内容如下:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
当然,您需要启用directory level.htaccess的功能—您使用的是VPS,因此如果尚未启用,您应该能够这样做
让我解释一下每一行都会做什么
RewriteEngine on
启用重新写入URL的功能
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
告诉Apache不要重新定向目录中已经存在的文件
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
这就是魔法发生的地方
^(.*)$
此部分类似于正则表达式匹配。它将告诉Apache收集包含任何字符的URL,并将它们重定向到page.php?businessname=(*)
因此,如果您发布:
www.website.com/stackover
它将真正发送:www.website.com/page.php?businessname=stackover
然后您可以使用$\u GET[businessname]
动态更新页面
希望这有帮助 再重复一下杰希曼说的话,再解释一下: 创建名为.htaccess的文件,其内容如下:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
当然,您需要启用directory level.htaccess的功能—您使用的是VPS,因此如果尚未启用,您应该能够这样做
让我解释一下每一行都会做什么
RewriteEngine on
启用重新写入URL的功能
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
告诉Apache不要重新定向目录中已经存在的文件
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
这就是魔法发生的地方
^(.*)$
此部分类似于正则表达式匹配。它将告诉Apache收集包含任何字符的URL,并将它们重定向到page.php?businessname=(*)
因此,如果您发布:
www.website.com/stackover
它将真正发送:www.website.com/page.php?businessname=stackover
然后您可以使用$\u GET[businessname]
动态更新页面
希望这有帮助 假设您使用的是apache,这就是您想要的:假设您使用的是apache,这就是您想要的:@Madbreaks没有apache的VP不多。。。当然,所有的一切都可能存在…谷歌:视窗vps:)但是,你得到了我的+1anyway@Madbreaks此外,他还在用PHP编写脚本。。。我不认为你会为Windows VPS增加额外的费用,然后安装运行IIS的PHP…@Madbreaks对我来说就是Apache…:)@没有apache的VP不多。。。当然,所有的一切都可能存在…谷歌:视窗vps:)但是,你得到了我的+1anyway@Madbreaks此外,他还在用PHP编写脚本。。。我不认为你会为Windows VPS增加额外的费用,然后安装运行IIS的PHP…@Madbreaks对我来说就是Apache…:)谢谢你的澄清。。。那我就不必详细说明我的答案了+1感谢您的澄清。。。那我就不必详细说明我的答案了+1.