我想将http://mysite/wp-login.php
的网址重命名为http://mysite/login
以及http://mysite/wp-login.php?action=register
到http://mysite/signup
我在.htaccess
文件中使用了以下代码,但它不起作用
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /robin_site/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^login$ http://mysite/wp-login.php [NC,L]
RewriteRule . /robin_site/index.php [L]
</IfModule>
# END WordPress
那么是否有可能请帮助我?
答案 0 :(得分:0)
你的问题仍然有点模糊,所以这只是猜测。
首先,规则的顺序(及其相关条件)很重要,因为它们将从上到下进行尝试。此外,条件属于紧随其后的规则。
由于这是一个Wordpress网站,我认为以下两个规则和条件属于一起
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /robin_site/index.php [L]
新规则看起来不错,但如果将放在上述规则之后,则永远不会触发。要产生任何效果,您必须将它放在开头。此外,除非您要强制http
或重定向到特定主机,否则无需为方案和主机添加前缀
RewriteRule ^login$ /wp-login.php [NC,L]
所以,所有规则一起,前面的新规则给出了
RewriteRule ^login$ /wp-login.php [NC,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /robin_site/index.php [L]