我们可以为 php mysql 中的 product.php 和 blog.php 等两个不同的动态页面编写 .htaccess 吗?

Posted

技术标签:

【中文标题】我们可以为 php mysql 中的 product.php 和 blog.php 等两个不同的动态页面编写 .htaccess 吗?【英文标题】:Can we write .htaccess for two different dynamic pages like product.php & blog.php in php mysql? 【发布时间】:2021-12-01 15:35:57 【问题描述】:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]+)/?-([^/]+)? product-details.php?pro_slug=$1&id=$2 [L,QSA]
RewriteRule ^([^/]+)/?-([^/]+)? blog-details.php?n_slug=$1&n_id=$2 [L,QSA]

这仅适用于第一个定义的页面 product-details.php。请帮忙。

我正在点击www.test.com/blog/Want-to-transfer-your-home-loan-to-another-bankwww.test.com/product/agriculture-land-near-by-agra 第一个网址应该由 product-details 提供,第二个应该由 blog-details.php 文件提供。

【问题讨论】:

欢迎来到 SO,感谢您以代码的形式分享您的努力。您能否提一下product-details.php 应该提供哪个URL 以及blog-details.php 应该提供哪个URL?因为现在您的规则将只处理 product-details.php 文件的任何 url。 您显然可以两次使用完全相同的模式,这根本没有意义 - 服务器应该如何知道,它应该在两种情况中的哪一种实例? 我在两个页面都使用基本网址 我是一名新开发人员,所以请建议我正确的代码。 @vijay,你需要理解我在第一条评论中问你的问题。假设您正在访问一个 URL,例如:http://test.com/test123/singhhttp://test.com/test456/singh,到目前为止,您当前的规则将始终仅将这些 URL 中的任何一个提供给 product-details.php 文件。那么,哪些 url 应该去产品 php,哪些应该去博客 php?如果你不能回答这个问题,那么这里是不可能的,对不起。 【参考方案1】:

根据您显示的示例,请尝试遵循 htaccess 规则文件。

确保在测试您的 URL 之前清除您的浏览器缓存。

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(blog)/([\w-]+)/?$ product-details.php?pro_slug=$1&id=$2 [NC,L,QSA]

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(product)/([\w-]+)/?$ blog-details.php?n_slug=$1&n_id=$2 [NC,L,QSA]

【讨论】:

这段代码不起作用,点击 url 后没有在页面上获取动态值。 @vijay。我想在这里为您提供帮助(我们都是),如果您不向我们提供有关哪些无效和哪些有效(带有示例/示例)的信息,那么这对我们双方来说都是浪费时间,请提供更多相同的信息,我可以尝试提供帮助,干杯。 正则表达式(.*)/?$ 的最后一部分将捕获可选的尾部斜杠,这可能不是本意。您需要使捕获子模式不贪婪,例如。 (.*?)/?$ 或从模式中排除斜线,例如。 ([^/]+)/?$。只需使正则表达式更加具体并省略尾部斜杠(示例中未包含该斜杠,并且可能会产生重复的内容问题),就可以避免文件系统检查,例如。 ([\w-]+)$. @MrWhite,谢谢先生告知,现在编辑帖子,干杯。 @vijay,您能否检查这些已编辑的规则,如果这对您有帮助,请告诉我?确保在测试 URL 之前清除浏览器缓存。

以上是关于我们可以为 php mysql 中的 product.php 和 blog.php 等两个不同的动态页面编写 .htaccess 吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用php解析XML数据放入mysql数据库

如何使用 PHP 为 MySQL 表中的每一行重新分配 AUTO_INCREMENT 列

压缩存储在mysql中的数据

MySQL PHP 语法

MySQL PHP 语法;MySQL 连接

PHP中的MySQLi扩展学习MySQLi介绍