这是我的网址:
example.com/profile.php?username=name.name
或者
example.com/profile.php?username=name
我想以这种方式重写它
示例.com/名称
或者
example.com/name.name
这是我的 .htaccess 代码
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
我试图将此代码添加到我的 .htaccess
RewriteRule ^([a-zA-Z0-9._-]+)$ profile.php?username=$1 [QSA,L]
它适用于这种类型的链接
示例.com/名称
但是当我尝试在我的链接中添加点时,我遇到了问题,首先这是我尝试添加点或句点的代码
RewriteRule ^([a-zA-Z0-9_\-.]+)$ profile.php?username=$1 [QSA,L]
这段代码使脚本仅适用于 profile.php 如果我试图去其他地方,如消息example.com/messages或设置example.com/settings它给我一个 404 错误,我该如何解决?
我找到了答案
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]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句