我一直在向网站添加产品页面,每个产品页面集包含page.php
文件,另外3个ajax文件(a-page1.php
,a-page2.php
)
等每个产品页面:
page1.php
,page2.php
。一个。 folder/page1/subfolder-a/
湾folder/page1/subfolder-b/
℃。 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个链接?
答案 0 :(得分:3)
也许使用捕获组,例如
RewriteRule ^folder/page(\d+)/subfolder-([^/])/?$ /jump/$2-page$1.php [L]
所以你的.htaccess文件中只需要一个条目用于所有页码和子文件夹?
答案 1 :(得分:0)
我们最近这样做了,虽然在.net中,但原则仍然是一样的。如果您愿意,我们将“单一页面”设为“详细信息/内容/产品”页面。
然后我们将数据库字段添加到表中,该表将包含所有产品详细信息,最重要的是,友好的url slug。
然后我们编写代码来查看发送到控制器的URL,然后在数据库中将其匹配。例如:
http://testbetasite.azurewebsites.net/Products/Apple-iPhone-6-Plus
代码会查找slug:
Apple-iPhone-6-Plus
在ProductSlug ==“Apple-iPhone-6-Plus”的数据库中查找,然后抓取包含图像,内容,价格等的字段并将其显示在页面中。即时友好的URL',无需访问htaccess或重写规则。
现在我们再次这样做是因为客户端将管理这个,我们希望它们能够轻松地分配自己的友好URL。
我可以帮助您在PHP中执行此操作,但如果它不是您想要的方向,我可以完全理解。请告诉我。