mod_rewrite和动态页面

时间:2013-08-20 09:27:15

标签: .htaccess mod-rewrite

我尝试在互联网上关于mod_rewrite的教程,但它并不适合我。我创建了一个.htaccess文件,现在有以下代码:

Options +FollowSymLinks  
Options +Indexes  
RewriteEngine On  

根据我的理解,这是.htaccess重写网址的基本设置,然后是说明......什么以及如何更改。我尝试了不同的例子,但它对我没用。我有一个带有网址localhost/alpha/oferta.php?id=52042156c65d4的动态网页,其中id =“...”是该优惠的唯一ID。我想将其更改为localhost / alpha / oferta / id =“..” 你能告诉我一个如何实现这个目标的例子吗?如果你知道任何有用的教程,请告诉我。敬礼前请告诉我,以便我可以编辑我的问题。谢谢!

1 个答案:

答案 0 :(得分:1)

因此,您希望将此类或网址localhost/alpha/oferta/id=123abc重定向到localhost/alpha/oferta.php?id=123abc

Options +FollowSymLinks  
Options +Indexes  
RewriteEngine On  
RewriteBase /

RewriteRule ^alpha/oferta/id=([A-Za-z0-9]+)$ alpha/oferta.php?id=$1 [L]

请记住以下几点:

  • 不会神奇地将“旧”网址更改为“新”网址。您必须在任何地方使用重写(“新”)URL。然后你的htaccess会把这个可读的URL改成一个技术的URL,你的代码可以使用它。
  • 此重定向是透明的。如果您希望将网址更改为浏览器栏,请使用[L,R=301]代替[L]
  • 这只会接受id
  • 的字母(不区分大小写)和数字
  • 您可以找到关于mod_rewrite here
  • 的好的备忘单