我正在运行 portable server通过 U 盘。问题是我也在我的本地机器上安装了 WAMP,并且 Apache 以某种方式在 Windows 启动时启动,因为一些我现在不记得的随机原因并且它无法更改。我想在这种情况下准备我的可移植服务器,因此从进程中关闭 httpd.exe 并启动我的可移植服务器不是一种选择。无论如何,因为已经激活了 httpd.exe,我的可移植服务器的 WordPress 站点只能通过 localhost:81 访问——这是一个问题,因为 WP 站点非常依赖于 URL,我不想在 WP 上包含带有端口的 url数据库。
这是我想通过 .htaccess 做的事情:
- 在除 error.php 文件之外的任何路径上检查是否不是端口 80
- 如果不是80端口重定向到/error.php?code=port
它有可能优先于 WP 重定向或 URL 处理吗?
在 error.php 中,我提供了有关如何手动关闭 httpd.exe 等信息,以便我的家人和 friend 可以访问可移植网站。它有点像用于事件和其他类似内容的图库和日历应用程序...
请帮忙?我是我完全想不通。我知道其他人可能还没有运行 apache,但我想为这种情况做好准备。
类似于以下内容,但以下内容不起作用。
# BEGIN WordPress
<IfModule mod_rewrite.c>
<If "%{SERVER_PORT} = 80">
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</If>
<Else>
RewriteEngine On
RewriteRule ^(error.php)($|/) - [L]
RewriteRule ^(.*)$ /error.php?code=port [L]
</Else>
</IfModule>
# END WordPress
最佳答案
# <If "%{SERVER_PORT} = 80">
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^index\.php$ - [L]
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#</If>
#<Else>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^(error.php)($|/) - [L]
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^(.*)$ /error.php?code=port [L]
#</Else>
关于php - 如果端口不是 80,.htaccess 重定向到错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12540539/