PHP-如何在浏览器中显示自定义页面url
我将WindowsIIS7与PHP和MySQL一起使用 每当有人在我的网站上开户时,他/她也会创建一个店铺ID,如PHP-如何在浏览器中显示自定义页面url,php,.htaccess,iis-7,url-rewriting,Php,.htaccess,Iis 7,Url Rewriting,我将WindowsIIS7与PHP和MySQL一起使用 每当有人在我的网站上开户时,他/她也会创建一个店铺ID,如MyHawaiiSpa。一旦生成此存储ID,就无法更改它。在此,我假设此帐户的pkid为1 现在,一位访客从主页上点击MyHawaiiSpastore链接。访客将被发送到shop.php,其中将显示属于MyHawaiiSpa的所有项目。单击MyHawaiiSpa商店中的任何产品,将打开product.php页面,其中显示产品详细信息 目前,我使用PHP中的querystring来管理
MyHawaiiSpa
。一旦生成此存储ID,就无法更改它。在此,我假设此帐户的pkid
为1
现在,一位访客从主页上点击MyHawaiiSpa
store链接。访客将被发送到shop.php
,其中将显示属于MyHawaiiSpa
的所有项目。单击MyHawaiiSpa
商店中的任何产品,将打开product.php
页面,其中显示产品详细信息
目前,我使用PHP中的querystring
来管理它。所以每个商店的区别如下:mywebsite.com/user/shop.php?sid=1
我现在的问题是:我希望访问者点击主页上的myhawaiisa
store链接,这样访问者将看到mywebsite.com/user/myhawaiisa/shop.php
,而不是mywebsite.com/user/shop.php?sid=1
(我现在已经做了)
我想到的解决方案是:每当有人打开帐户并创建他们的店铺ID时,就会创建文件夹MyhawaiSpa
,并且shop.php
以及product.php
页面会以编程方式复制到MyhawaiSpa
文件夹下。将对所有要创建的存储重复此过程
有没有其他方法可以做到这一点,这样我就不需要为每个商店创建文件夹和复制文件,并且仍然可以得到我刚才解释过的想要的结果 一个很好的方法是重写.htaccess,这将允许您将查询转换为SEO友好的url,并且在该页面上调用时仍能正确阅读 重写的一个基本示例是强制所有请求通过索引页,除非它们是真实的文件夹或文件,可以是以下内容:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/$|\.|^$)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [NC,QSA,L]
要在windows服务器上执行类似的重写,您需要编辑一个
web.config
文件。这样做的一个好方法是.htaccess重写,它允许您将查询转换为SEO友好的url,并且在该页面上调用时仍能正确读取
重写的一个基本示例是强制所有请求通过索引页,除非它们是真实的文件夹或文件,可以是以下内容:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/$|\.|^$)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [NC,QSA,L]
要在windows服务器上执行类似的重写,您需要编辑一个
web.config
文件。这样做的一个好方法是.htaccess重写,它允许您将查询转换为SEO友好的url,并且在该页面上调用时仍能正确读取
重写的一个基本示例是强制所有请求通过索引页,除非它们是真实的文件夹或文件,可以是以下内容:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/$|\.|^$)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [NC,QSA,L]
要在windows服务器上执行类似的重写,您需要编辑一个
web.config
文件。这样做的一个好方法是.htaccess重写,它允许您将查询转换为SEO友好的url,并且在该页面上调用时仍能正确读取
重写的一个基本示例是强制所有请求通过索引页,除非它们是真实的文件夹或文件,可以是以下内容:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/$|\.|^$)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [NC,QSA,L]
要在windows服务器上执行类似的重写,您需要编辑一个
web.config
文件。当有人注册时复制PHP文件是个坏主意,长期维护它会很麻烦,您只需要将IDMyHawaiiSpa
作为唯一密钥存储在数据库中。并使用存储id
作为URL中的slug
因为您使用的是IIS,所以这里是重写URL的好地方
.htaccess
mod\u rewrite当有人注册时复制PHP文件是个坏主意,长期维护它会很麻烦,您只需要将ID
MyHawaiiSpa
作为唯一密钥存储在数据库中。并使用存储id
作为URL中的slug
因为您使用的是IIS,所以这里是重写URL的好地方
.htaccess
mod\u rewrite当有人注册时复制PHP文件是个坏主意,长期维护它会很麻烦,您只需要将ID
MyHawaiiSpa
作为唯一密钥存储在数据库中。并使用存储id
作为URL中的slug
因为您使用的是IIS,所以这里是重写URL的好地方
.htaccess
mod\u rewrite当有人注册时复制PHP文件是个坏主意,长期维护它会很麻烦,您只需要将ID
MyHawaiiSpa
作为唯一密钥存储在数据库中。并使用存储id
作为URL中的slug
因为您使用的是IIS,所以这里是重写URL的好地方
.htaccess
mod\u rewrite您需要使用URL重写。它很容易学习和实现 在linux服务器上,它是通过文件调用.htaccess完成的。在IIS上,我认为文件被调用 web.config 基本上,它的作用是,您将其配置为显示一个url,而实际上您将转到另一个url 这些链接可以让你快速启动和运行
您需要使用URL重写。它很容易学习和实现 在linux服务器上,它是通过文件调用.htaccess完成的。在IIS上,我认为文件被调用 web.config 基本上,它的作用是,将其配置为