用.htaccess将登录URL替换为短URL


replacing Login URL to short URL with .htaccess

我有一个URL:

http://mydomain.com/site/?cmd=home

我想把上面的地址改成http://mydomain.com/home

我使用的.htaccess文件如下:

RewriteEngine on
RewriteRule ^([^/'.]+)/?$ /site?cmd=$1 [L]

我不确定问题出在哪里?

提前感谢

规则的工作方式与此相反:您想从/site/?cmd=home/home,但使用RewriteRule,您正在重定向到/site?cmd=(可能某个地方有错误?(

如果您想像问题状态一样从/site/?cmd=home重定向到/home,请使用以下命令:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/site
RewriteCond %{QUERY_STRING} ^cmd=(.*)$ 
RewriteRule ^(.*)$ /%1/? [R=302,L]

您可以在DOCUMENT_ROOT/.htaccess文件中使用以下代码:

RewriteEngine On
RewriteCond %{THE_REQUEST} /site'?cmd=([^'s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]
# internal forward from pretty URL to actual one
RewriteRule ^([^/.]+)/?$ /site?cmd=$1 [L]