public_html文件夹包含一个wordpress网站。 我已经在一个名为myapp的子文件夹中放置了一个新的Angular应用程序。
所以 www.domain.com -> WordPress和 wwww.domain.com/myapp ->角度应用程序
现在,如果我刷新或尝试以角度访问 url 路径(路由(,我会得到 wordpress 网站的 404 页面。
所以根(public_html(文件夹有一个像这样的.htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
在myapp文件夹(角度(中,我有这个:
RewriteEngine on
RewriteBase /myapp/
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
无论我尝试什么,它总是以:myapp 中的所有内容都正常工作(刷新、直接 url 访问等(但 myapp www.domain.com ->!!
或
www.domain.com 仍然 -> WordPress但我的角度应用程序在刷新和直接 url 访问时给了我 404!
这是我的.htaccess,我认为应该有效
RewriteEngine on
RewriteBase /
# Condition to get in my angular app
RewriteCond %{REQUEST_URI} ^/myapp/.*$
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /myapp/index.html [NC,L]
#Condition to go in wordpress
RewriteCond %{REQUEST_URI} !^/myapp/.*$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
请帮忙!!
最后!! 成功了!!!
吸取的教训!!不要尝试混合使用不同文件夹的.htaccess!!
wordpress .htaccess不需要任何更改。
Angular 的(子文件夹(像这样更改:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) index.html [NC,L]
所以基本上是两件事!!
- 删除了重写库/myapp/
- 删除了重写规则 ^(.*( 索引中的/.html [NC,L]
希望这会帮助其他人;-(