添加文本以重写规则

时间:2013-04-20 11:28:32

标签: php .htaccess mod-rewrite

因此,我正在创建一个URL缩短程序,并且为了使其正常工作,我将不得不更改我的.htaccess文件,以将网址从website.com/?id=myidhere更改为website.com/myidhere。我已经将这个任务分类为数字,但我不知道如何为字母执行它。 到目前为止,这是我的.htaccess:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /(index\.php)?\?id=([0-9]+)([^\ ]*)
RewriteRule ^ /%3?%4 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ /index.php?id=$1 [L,QSA]

所以它重写数字,但是当我在url的id中输入文本时,它显示404错误。有人能帮助我吗?感谢。

3 个答案:

答案 0 :(得分:2)

我不确定它是否解决了您的问题,但为了支持数字和/或文字,您的正则表达式必须为[a-zA-Z0-9]+

答案 1 :(得分:1)

试试这个

RewriteRule ^myidhere$ id=myidhere [NC,L]

答案 2 :(得分:1)

试试这个.htaccess代码

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ /index.php?id=$1 [L]

现在您可以从

访问您的网页
website.com/myidhere