任何编辑.htaccess的方法都更有效


Any way to edit .htaccess more efficiently?

我不断向网站添加产品页面,每个产品页面集都包含一个page.php文件和另外3个ajax文件(a-page1.phpa-page2.php

因此,每个产品页面:

  1. 例如被称为:page1.phppage2.php
  2. 包含指向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帮你做这件事,但如果这不是你想要的方向,我完全可以理解。请告诉我。