.Htaccess RewriteRule将所有页面重定向到404页面未找到错误

时间:2015-03-28 02:05:35

标签: php .htaccess

我有以下格式的长网址

      example.com/user.php?uname=foo&pass=bar

这个网址的问题在于它根本不会令人难忘,

所以我想把它改成一个友好的搜索引擎网址

  example.com/foo/bar

我在我的网络根目录中尝试过这条规则

 RewriteRule ^([a-zA-Z0-9]+)([a-zA-Z0-9]+)/?$mysite.com/user.php?uname=$1&pass=$2

但问题是它不能正常工作,它会将每个页面请求重定向到404找不到。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ /user.php?uname=$1&pass=$2 [QSA,L]

条件确保您不会重写服务器上的任何现有文件/目录。