Php .htaccess白色标签站点的url重写
我正在建立一个简单的网站,只有一个主页和一个联系人页面,我想知道我是否可以使用.htaccess重写不同公司的URL 因此,例如,如果我访问website.com/companyname-contact/它将在浏览器栏中显示该url,但实际上加载了一个通用contact.php页面,那么我可以使用php为该特定companyname提取正确的联系人详细信息 这需要适用于不同的公司名称(例如,website.com/anothercompany contact/),但仅适用于一系列经批准的公司名称 我意识到这可能是不可能的,但我想我应该问一下,因为我今天早上花了大约4个小时在谷歌上搜索,但没有真正的进展Php .htaccess白色标签站点的url重写,php,apache,.htaccess,mod-rewrite,white-labelling,Php,Apache,.htaccess,Mod Rewrite,White Labelling,我正在建立一个简单的网站,只有一个主页和一个联系人页面,我想知道我是否可以使用.htaccess重写不同公司的URL 因此,例如,如果我访问website.com/companyname-contact/它将在浏览器栏中显示该url,但实际上加载了一个通用contact.php页面,那么我可以使用php为该特定companyname提取正确的联系人详细信息 这需要适用于不同的公司名称(例如,website.com/anothercompany contact/),但仅适用于一系列经批准的公司名称
谢谢是的,你可以。您需要启用重写引擎,然后才能使用正则表达式来完成您要做的事情 这是htaccess的一个示例:
RewriteEngine On
RewriteRule ^contact/([A-Za-z0-9-]+)/?$ contact.php?company=$1 [NC,L]
除非您想在.htaccess文件中手动列出批准的公司名称(该文件看起来很难看),否则我建议您:
RewriteEngine On
RewriteRule (.*)-contact$ /contact.php?company_name=$1 [L,QSA,NC]
然后在您的contact.php中
- 确定公司名称是否有效-检查db或您正在使用的任何方法。(确保退出输入)
- 如果无效,您有两个选项:
- 重拨到默认的404页面
- 发布一个智能警告页面(即包括db中的其他拼写建议),并设置404标题。(海事组织)
- 如果db中的类似公司名称可能重定向到该名称,并在页面顶部添加注释