我正在努力从DB创建页面链接,如下例所示。
当前页面:
www.example.com/page.php?pid=7
在数据库中,它在“公司信息”类别下保存为标题“contact-us”
我希望它像:
www.example.com/company-info/contact-us.html
我尝试了不同的解决方案和答案,但没有运气。我不确定,PHP部分将在哪里以及为.htaccess文件编写哪些规则。
答案 0 :(得分:2)
在apache(或.hataccess)中执行以下操作:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /proxy.php?_url=$1 [QSA,L]
简而言之,如果请求的资源不存在,请将其重定向到proxy.php文件。从那里$ _REQUEST ['_ url']将成为用户请求的网址。
然后在您的主目录中创建proxy.php并添加您想要加载正确内容的任何逻辑。
如果您使用.htaccess中的这个,那么您可能需要将RewriteBase /添加到您的配置中。
答案 1 :(得分:0)
如果你想通过url找到这个页面,你可能会通过php和.htaccess这样做。创建一个.htaccess,为每个请求调用page.php
。你不需要pid=7
,因为,.htaccess应该怎么知道它是7,对吧? :)
在page.php中,您获取原始网址并将其拆分为斜杠,以便获得类别(company-info
)和网页本身(contact-us.html
)。然后,您可以在数据库中查找这些内容。简而言之,有多少软件可以使用,包括Wikipedia(MediaWiki)和CodeIgnitor。
请注意'company-info'与'Company Info'不同。您必须在数据库中指定url-version才能使用它进行查找。