如何使用点或句点在htaccess中创建重写规则

时间:2017-12-02 21:23:53

标签: regex .htaccess

这是我的网址:

example.com/profile.php?username=name.name

example.com/profile.php?username=name

我想以这种方式重写它

example.com/name

example.com/name.name

这是我的.htaccess代码

RewriteRule ^([a-zA-Z0-9._-]+)$ profile.php?username=$1 [QSA,L]

我试图将此代码添加到我的.htaccess

RewriteRule ^([a-zA-Z0-9_\-.]+)$ profile.php?username=$1 [QSA,L]

它可以正常使用这种类型的链接

example.com/name

但是当我尝试在我的链接中添加点时我遇到了问题,首先这是我添加点或句点的代码我试过了

xlApp = win32com.client.DispatchEx("Excel.Application")

如果我试图转到其他地方,例如消息 example.com/messages 或设置 example.com/settings ,此代码使该脚本仅适用于profile.php它给我一个404错误,我该如何解决?

1 个答案:

答案 0 :(得分:0)

我找到了答案

RewriteEngine on
ErrorDocument 404 /404.php



RewriteRule ^signup$ signup.php [QSA,L]
RewriteRule ^signin$ signin.php [QSA,L]
RewriteRule ^home$ home.php [QSA,L]
RewriteRule ^messages$ messages.php [QSA,L]
RewriteRule ^signout$ signout.php [QSA,L]
RewriteRule ^settings$ settings.php [QSA,L]
RewriteRule ^settings/ChangePassword$ change_password.php [QSA,L]
RewriteRule ^settings/RemoveAccount$ remove_account.php [QSA,L]


RewriteRule ^message/([0-9]+)$ show_message.php?id=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([a-z0-9_\.-]+)/? profile.php?username=$1 [L,NC]