我有一个长url,格式如下
example.com/user.php?uname=foo&pass=bar
这个url的问题是它根本不值得记住,
所以我想把它变成一个搜索引擎友好的url
example.com/foo/bar
我已经在我的htaccess中尝试了这个规则,它在网络根上
RewriteRule ^([a-zA-Z0-9]+)([a-zA-Z0-9]+)/?$mysite.com/user.php?uname=$1&pass=$2
但问题是它不起作用,它将所有未找到的页面请求重定向到404。
有什么想法吗?
试试这个:
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]
这些条件确保您不会重写服务器上的任何现有文件/目录。