我不断向网站添加产品页面,每个产品页面集都包含一个page.php
文件和另外3个ajax文件(a-page1.php
、a-page2.php
)
因此,每个产品页面:
- 例如被称为:
page1.php
、page2.php
- 包含指向ajax文件的3个链接:
a。folder/page1/subfolder-a/
b。folder/page1/subfolder-b/
c。folder/page1/subfolder-c/
(除了数字之外,所有的东西都是常量)。
目前,每次我手动编辑.htaccees
以使链接更漂亮:
RewriteRule ^nice-name-for-page1/?$ page1.php [L]
RewriteRule ^folder/page1/subfolder-a/?$ /jump/a-page1.php [L]
RewriteRule ^folder/page1/subfolder-b/?$ /jump/b-page1.php [L]
RewriteRule ^folder/page1/subfolder-c/?$ /jump/c-page1.php [L]
有没有任何方法可以自动化这个过程,也许有一些接口,我可以简单地键入nice-name-for-page1
值,或者从PHP页面本身(规范URL)中获取它,并且只需键入page1
值就可以准备好所有其他3个链接?
也许使用捕获组,类似
RewriteRule ^folder/page('d+)/subfolder-([^/])/?$ /jump/$2-page$1.php [L]
所以你只需要在.htaccess文件中为所有页码和子文件夹输入一个条目?
我们最近做了这件事,尽管是在.net中,但原理仍然相同。如果您愿意的话,我们制作了一个单独的页面,即"详细信息/内容/产品"页面。
然后,我们将数据库字段添加到表中,该表将包含所有产品详细信息,最重要的是,友好的url slug。
然后,我们编写代码来查看发送到控制器的URL,然后在数据库中进行匹配。例如:
http://testbetasite.azurewebsites.net/Products/Apple-iPhone-6-Plus
代码将查找段塞:
Apple-iPhone-6-Plus
并在数据库中查找它,其中ProductSlug=="Apple-iPhone-6-Plus",然后抓取包含图像、内容、价格等的字段并将其显示在页面中。即时友好URL,无需访问htaccess或重写规则。
现在,我们这样做是因为客户端将对此进行管理,我们希望他们能够轻松地分配自己的友好URL。
我可以用PHP帮你做这件事,但如果这不是你想要的方向,我完全可以理解。请告诉我。