【问题标题】:Htaccess Remove part of URLHtaccess 删除部分 URL
【发布时间】:2012-02-26 07:15:56
【问题描述】:

我有这个网址:http://www.website.nl/pagina/4/wie-ben-ik.html

"pagina" 是一个真正的 php 文档。 “4”是网页的id,用这个id我从数据库中得到结果。

我可以使用 htaccess 将此 URL 更改为 http://www.website.nl/wie-ben-ik 吗?

谢谢!

【问题讨论】:

  • 您是否尝试过先在 .htaccess 文件中写入任何内容?
  • 这类问题有been covered a lot。只需要一点点谷歌的努力就可以找到,因为问题标题通常同样难以描述。使用常见的文件不存在捕获所有 RewriteRule 并使用包装脚本在 PHP 中进行 pagename -> id 映射。

标签: php .htaccess url mod-rewrite rewrite


【解决方案1】:

如果您希望它从数据库中查询,您必须以某种方式传递 id。

要么使用查询字符串(名称-值对),要么像您在上面所做的那样将其放在 URI 中。

如果你不想在你的 URI 中出现pagina,你可以这样设置你的 URI: http://www.website.nl/wie-ben-ik/<the number you want to send>

RewriteCond %{REQUEST_URI} ^/(wie-ben-ik)/(\d+)
RewriteRule ^ /pagina/%2/%1\.html

【讨论】:

    【解决方案2】:

    尝试将以下内容添加到站点根目录中的.htaccess 文件中。

    RewriteEngine on
    RewriteBase / 
    
    #redirect http://www.website.nl/pagina/4/wie-ben-ik.html to http://www.website.nl/wie-ben-ik 
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /pagina/4/(wie-ben-ik)\.html [NC]       
    RewriteRule ^ %1 [L,R=301]
    
    #process wie-ben-ik as http://www.website.nl/pagina/4/wie-ben-ik.html
    RewriteRule ^([-a-zA-Z]+)$  pagina/4/$1.html [L,NC] 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-21
      • 2018-06-10
      • 2017-07-04
      • 1970-01-01
      • 2015-12-04
      • 2018-10-04
      • 1970-01-01
      相关资源
      最近更新 更多