URL重写或.htaccess无法正常工作

时间:2014-01-19 18:11:08

标签: php apache url-rewriting

我正在尝试重写网址 http://test.com/1234http://test.com/index.php?a=1234

和我的.htaccess文件

    RewriteEngine On

    RewriteRule     /^[a-zA-Z0-9]/?$    index.php?key=$1    [NC,L]

但没有任何事情发生它只是显示对象未找到错误,.htaccess文件已经在根目录中所以需要帮助 附:我是重写的初学者。

3 个答案:

答案 0 :(得分:0)

尝试此重写规则:

RewriteEngine On
Options +FollowSymlinks
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?key=$1 [NC,L]
  • 您需要括号对字符进行分组,并将它们重新用作$ 1参数。
  • 您不需要/
  • 如果你有[0-9]这样的模式,如果你想匹配多个字符,你需要*+

顺便说一下,如果key参数只接受数字,请使用:

RewriteEngine On
Options +FollowSymlinks
RewriteRule ^([0-9]+)/?$ index.php?key=$1 [NC,L]

答案 1 :(得分:0)

尝试此重写规则:

RewriteRule     ^(.*)$     index.php?a=$1     [QSA,L]

答案 2 :(得分:0)

试试这个

RewriteRule ^(.*)$ index.php?a=$1 [L,QSA]

^(.*)$导致将整个请求路径作为一个参数传递

QSA会将任何查询字符串附加到请求

?a=$1指定参数的传递方式