我通过usb棒运行portable server。问题是我也在我的本地机器上安装了WAMP,并且Apache以某种方式在Windows启动时启动,因为一些随机的原因我现在不记得并且它无法更改。我希望在这种情况下准备我的便携式服务器,因此从进程中关闭httpd.exe并启动我的便携式服务器不是一种选择。无论如何,由于已经活跃的httpd.exe我的便携式服务器的WordPress站点只能通过localhost访问:81 - 这是一个问题,因为WP站点非常依赖于URL,我不想在WP上包含带端口的url数据库中。
这是我想通过.htaccess做的事情:
它可能优先于WP重定向或URL处理吗?
在error.php中,我提供了有关如何手动关闭httpd.exe等信息,以便我的家人和朋友可以访问便携式网站。它有点像事件和其他类似东西的画廊和日历应用......
请帮帮忙?我根本无法解决这个问题。我知道其他人可能没有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
答案 0 :(得分:2)
# <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>
答案 1 :(得分:0)
你可以试试这个apache config
RewriteEngine on
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^(.*) http://%{SERVER_NAME}:80%{REQUEST_URI}
RewriteCond %{SERVER_PORT} ^80$
RewriteRule .* http://example.com/index.php [L]
第1段重定向,如果它是NOT 80
如果您只想匹配80
,那么第二个只是您可以尝试的替代选择有关重写的更多信息, http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
答案 2 :(得分:0)
VirtualHosts正是您要找的。 p>
如何实现http://wplocal/
或 http://wp.local/
指向/var/www/wp
和http://localhost/
或 http://http.local
指向/another/root/path
。
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin wp@you.com
DocumentRoot "/var/www/wp"
ServerName wplocal
ServerAlias wp.local
ErrorLog "/somepath/here"
</VirtualHost>
<VirtualHost *:80>
ServerAdmin you@you.com
DocumentRoot "/another/root/path"
ServerName localhost
ServerAlias http.local
ErrorLog "/logs/path"
</VirtualHost>
请参阅this了解可解释这些内容的酷炫图片。
希望有所帮助。