2012-02-03 120 views
0

我有这个网址:http://www.website.nl/pagina/4/wie-ben-ik.htmlHtaccess删除部分URL

“pagina”是一个真正的php文档。 “4”是网页的ID,ID从数据库中获得结果。

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

谢谢!

+1

什么没有这方面的工作http://httpd.apache.org/docs/2.0/ mod/mod_rewrite.html#rewriterule? – Vyktor 2012-02-03 17:14:10

+0

您是否曾尝试在您的.htaccess文件中写入任何内容? – summea 2012-02-03 17:16:21

+1

这类问题[已被覆盖很多](http://stackoverflow.com/search?q=php+mod_rewrite+id+to+page)。它只需要一点谷歌的努力就可以找到,因为问题标题通常也是无关紧要的。使用通用文件不存在捕获所有RewriteRule并使用包装脚本在PHP中执行pagename - > id映射。 – mario 2012-02-03 17:21:49

回答

1

如果你想从数据库中查询,你必须通过某种方式传递id。

可以使用查询字符串(名称 - 值对),或者像上面那样在URI中使用它。

如果你不想做pagina在你的URI你可以有你的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 
0

尝试将以下内容添加到网站根目录中的.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]