使用RewriteRule显示apache文件夹导航或404,为什么?

时间:2016-02-16 07:49:13

标签: php wordpress apache .htaccess mod-rewrite

我安装了wordpress,并在根目录中创建了一个文件夹并在其中放置.htaccess以重定向到另一个网页而不更改URL。

这个工作正常,直到我搬到另一台服务器(较旧的服务器很糟糕),现在它还没有用。

这是我正在使用的代码:

RewriteEngine ON    
RewriteCond %{REQUEST_URI} ^/conexionalam
RewriteRule ^(.*)$ http://nuevoserver.breinguash.com/$1 [R=301,L,P]

并且不再有效,请告诉我:

enter image description here

寻找互联网我测试了一些其他代码:

1 -

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^/conexionalam(/.*|)$ nuevoserver.breinguash.com$1 [L,NC]

2 -

RewriteEngine ON  
RewriteRule   ^/(.+)  http://nuevoserver.breinguash.com/$1  [R,L]

这两个告诉我这个:

enter image description here

3 -

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://nuevoserver.breinguash.com/$1

这个将我重定向到http://nuevoserver.breinguash.com/index.html

我意识到,如果我在第一个代码的末尾取下'[R = 301,L,P]',它可以工作,但是改变了URL,我不想要。“

先谢谢!

修改

目前我正在使用此代码:

RewriteEngine ON    
RewriteCond %{REQUEST_URI} ^/conexionalam
RewriteRule ^(.*)$ http://nuevoserver.breinguash.com/$1

重定向但更改网址= / 但目前不影响谷歌分析。

如果我在代码中更改或添加内容,它会向我显示上面的错误。我真的不明白为什么会这样做。

好吧,似乎我无法在域/子域之间重定向而不更改URL,我必须使用代理,因此解决方案是:

  • 在apache上启用proxy和proxy-http。
  • 使用Re标志的P标志

所以现在我正在使用这段代码并且它完美运行:

RewriteEngine ON    
RewriteCond %{REQUEST_URI} ^/conexionalam
RewriteRule ^(.*)$ http://nuevoserver.breinguash.com/$1 [R=301,L,P]

1 个答案:

答案 0 :(得分:0)

在你的.htaccess文件中点击一下......

RewriteEngine On
RewriteBase /

RewriteRule ^conexionalam(.*)$ http://nuevoserver.breinguash.com/$1 [L,R=301]

当您从主域转到/ conexionalam时,这应该会将您重定向到http://nuevoserver.breinguash.com