使用.htaccess重写带有ID和文件名的URL

时间:2012-01-30 21:13:36

标签: php apache .htaccess

我正在尝试使用.htaccess重写一个网址,并且有一个问题,经过几个小时的搜索后我无法找到答案。并且,我的正则表达式技能并不是那么好......

我的网址的基础格式为:http://mysite.com/article.php?id=1

我想直接在那里找到这样的网址:http://mysite.com/article/1/made-up-irrelevant-title-slug

问题是,我希望article是一个变量,以便它可以更改为page,并指向http://mysite.com/page.php?id=1,来自{{1} }}

如果有人知道这是如何正确写的,我将非常感激!

1 个答案:

答案 0 :(得分:4)

# Turn on Rewrites
RewriteEngine on

# Do not rewrite existing files, directories, or symlinks.
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

# Rewrite /COMPONENT/ID/TITLE -> COMPONENT.php?id=ID
RewriteRule ^([^/]+)/(\d+)/.*$ $1.php?id=$2 [L]