【发布时间】:2015-12-01 11:50:21
【问题描述】:
我正在寻找匹配模式的正则表达式
/catalogue/name-of-the-product-p1-1-1.php
或者
/catalogue/name-of-the-product-p1.php
并重定向到:
/name-of-the-product
我试过的代码:
RewriteRule ^/catalogue/([A-Za-z0-9-]+)-p(.+)\.php /$1 [R=301]
任何帮助将不胜感激。
【问题讨论】:
-
您使用了标签.htaccess,但请注意
^/在.htaccess 文件中永远不会匹配,因为您只剩下当前的部分路径。 -
当我在 regexr.com 上测试它们时,你的两个答案都是正确的,但是当我在 .htaccess 中放置任何这些规则时,没有重定向并且网站显示的是 404 页面?
-
在您的服务器日志文件中查找错误消息。最好将此重写放在您的 apache 配置文件中。你需要在它前面加上
RewriteEngine on。如果您还添加Options +FileInfo,并且仅当您使用“^catalogue”或“^/?catalogue”作为其中一个答案开始模式时,它将仅在文档根目录顶部的 .htaccess 中工作.
标签: regex apache .htaccess mod-rewrite url-redirection