我有一个域http://www.mydomain.com
。我的根文件夹结构是这样的。
根
-Wordpress
我想将所有请求重定向到wordpress文件夹。 我用Google搜索并编写了这样的文件
RewriteEngine on
rewritecond %{http_host} http://mydomain.com/ [nc]
rewriterule (.*)$ http://mydomain.com/wordpress [r=301,nc]
我现在收到404 File not found错误。
我甚至尝试使用另一种技术来创建索引文件并使用header('location:/wordpress1)
,这很有效,但每当我在Wordpress上传主题时,它都会给我500个内部错误。
任何可以帮助我的人
注意:我正在标记php,因为他们可能会使用此文件
答案 0 :(得分:1)
HTTP_HOST变量包含客户端向其发出HTTP请求的服务器名称。在你的情况下mydomain.com。目前的cond永远不会匹配。重写主机并重定向到子目录是不同的问题。
RewriteEngine on
RewriteBase /
# This will redirect mydomain.com URIs to www.mydomain.com
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
RewriteRule ^.*$ http://www.mydomain.com/$0 [R=301,L]
# This will do an INTERNAL redirect to the wordpress folder
RewriteCond $0 !^wordpress/
RewriteRule ^.*$ wordpress/$0
第二条规则的cond是为了防止内部重定向循环。 $ 0设置为“整个匹配字符串”。
同时删除索引文件和位置。这是一种无效的语法,它为你发现的新手提供了各种各样的副作用。
答案 1 :(得分:1)
尝试
RewriteEngine on
RewriteCond $1 !^(index\.php|wordpress/wp_content)
RewriteRule ^(.*)$ /wordpress/index.php/$1 [L]
第二行是例外。您可能需要添加更多内容以包含html需要包含的文件夹。
答案 2 :(得分:1)
RewriteCond $ 0!^ wordpress / RewriteRule ^。* $ wordpress / $ 0 这是最好的方法。