【发布时间】:2020-03-30 13:13:49
【问题描述】:
我不知道这是否可能,否则我会在链接事物时遇到问题,但我目前正在努力解决 Wordpress wp-admin URL 和 wp-login.php 的 URL 重写问题
希望您能提供帮助,也许可以对我说,如果这个尝试可行的话。
目前的响应是,如果我 [F] 重写新的 url/文件也将被阻止。
这有点疯狂,尝试了很多事情。
# BEGIN WordPress
# Die Anweisungen (Zeilen) zwischen `BEGIN WordPress` und `END WordPress` sind
# dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
# Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
# BEGIN
# Options +FollowSymLinks
# works %{REDIRECT_IS_BACKEND}
<If "%{REQUEST_URI} =~ m#^(.*?)/?backend/?(.*)$#">
SetEnv IS_BACKEND "1"
</If>
#works %{REDIRECT_IS_LOGIN}
<If "%{REQUEST_URI} =~ m#^(.*?)/login(.*)$#">
SetEnv IS_LOGIN "1"
</If>
RewriteCond %{ENV:IS_LOGIN} !^1$
RewriteCond %{SCRIPT_FILENAME} ^.*?/wp-login.php$
RewriteRule ^.* - [F,L]
#RewriteCond %{REQUEST_URI} ^(.*?)/backend/?(.*)
#RewriteRule ^(.*?)/?backend/?(.*)$ $1wp-admin$2 [NC,L,PT,E=IS_BACKEND:1]
#RewriteCond %{ENV:IS_BACKEND} 1
#RewriteCond %{REQUEST_URI} ^.*?/wp-admin/?.*$
#RewriteRule ^.* - [F,L]
# works
RewriteCond %{REQUEST_URI} ^(.*?)/login\??(.*)$
RewriteRule ^(.*?/?)login(\??.*)$ $1wp-login.php$2 [NC,L,PT,E=IS_LOGIN:1]
# END
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress
更新 ------------------ 所以,我找到了一个可行的解决方案:
# BEGIN
RewriteCond %{REQUEST_URI} ^.*?/?backend/?.*$
RewriteRule ^(.*?/?)backend(/?.*)$ $1wp-admin$2 [L,E=IS_BACKEND:1,END]
RewriteCond %{ENV:REDIRECT_IS_BACKEND} !^1$
RewriteCond %{REQUEST_URI} ^.*?/?wp-admin/?.*$
RewriteRule ^.* - [F,L]
RewriteCond %{REQUEST_URI} ^.*?/login\??.*$
RewriteRule ^(.*?/?)login(\??.*)$ $1wp-login.php$2 [L,E=IS_LOGIN:1]
RewriteCond %{ENV:REDIRECT_IS_LOGIN} !^1$
RewriteCond %{SCRIPT_FILENAME} ^.*?/wp-login.php$
RewriteRule ^.* - [F,L]
# END
但现在我坚持使用 Cookie 路径 - 因为它已定义并且似乎没有钩子,也许我尝试编辑 config.php
【问题讨论】:
标签: php wordpress apache mod-rewrite url-rewriting