我有一个分类广告网站。每个分类最初的链接如下:
mydomain.com/ad.php?ad_id=Bmw_M3_M_tech_113620829
我应该使用什么 RewriteRule 来使此链接看起来像:
mydomain.com/Bmw_M3_M_tech_113620829
另外,我需要在 .htaccess 文件中添加什么? 这是我到目前为止所拥有的:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
我刚刚启用了 mod_rewrite,它最初在我的 Ubuntu 服务器上被禁用,方法是:
a2enmod rewrite
我还需要知道或做什么吗?
谢谢
最佳答案
看起来你需要这样的东西:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/ad\.php
RewriteRule ^(.*)$ ad.php?ad_id=$1 [L]
这应该将对 mydomain.com/Bmw_M3
的请求重写为 mydomain.com/ad.php?ad_id=Bmw_M3
。
RewriteCond
排除对 ad.php
的直接请求被重写。 RewriteRule
会简单地替换 mydomain.com/
之后的任何内容来代替 $1
。 [L]
(最后一个)标志会停止重写过程,这样就不会再对由此规则重写的请求应用任何重写。
关于php - mod_rewrite 的小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2991396/