我想改写我的网址:
localhost/users/045da557b7
到
localhost/users/index.html?userID=045da557b7
这是我的.htaccess
RewriteEngine On
RewriteRule ^/([0-9a-z]{10})/$ /index.html?userID=$1 [L]
但是浏览器给了我404。
我在httpd.conf中没有取消注释重写mod。 谢谢你的帮助。
答案 0 :(得分:1)
您需要将此规则放在RewriteBase
:
/users/.htaccess
RewriteEngine On
RewriteBase /users/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-z]+)/?$ index.html?userID=$1 [L,QSA,NC]
答案 1 :(得分:0)
^/([0-9a-z]){10}/$
a b
cccccccc dddd
a - anchor pattern to start of string
b - anchor pattern to end of string
c - allow numbers and lower case alphabet
d - must have exactly 10 characters
users/045da557b7
16 characters (past your limit of 10)
contains a / - not in your list of allowed characters
你基本上说“允许最多10个0-9a-z的角色”,然后传入17个字符并包含不允许的字符。所以你的整个模式都会拒绝匹配。