【问题标题】:Url rewriting in .htaccess for same page structure在 .htaccess 中为相同的页面结构重写 URL
【发布时间】:2021-03-15 18:16:10
【问题描述】:

我需要为我的网站制定一些重写规则:

我是否需要设置 2 个不同的规则来匹配这些 URL:

- https://example.com/en/category/my-item-name
- https://example.com/en/category/sub-category/my-item-name
- https://example.com/en/category/sub-category/my-item-name

我的实际规则是:

RewriteRule en/([^/]+)/([^/]+)$ article.php?lang=en&i=$1 [L,QSA]

【问题讨论】:

  • 如果你不说那些请求的 URL 应该被重写成什么,你希望我们如何回答?
  • 而且,顺便说一下,您发布的第二个和第三个 URL 是相同的......

标签: .htaccess mod-rewrite url-rewriting friendly-url


【解决方案1】:

对于您显示的示例,您能否尝试以下操作。我正在考虑在这两种情况下您都必须通过my-item-name

另外,请确保在测试 URL 之前清除浏览器缓存。 另外,请将您的 .htaccess 文件放在 article.php 所在的(同一文件夹)之外。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule en/(?:[^/]*)/(?:[^/]*)/(.*)/?$  article.php?lang=en&i=$1 [NC,L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule en/(?:[^/]*)/(.*)/?$  article.php?lang=en&i=$1 [NC,L,QSA]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多