Apache URL重写子域文件夹下不存在的文件
我的网站结构如下:Apache URL重写子域文件夹下不存在的文件,apache,.htaccess,mod-rewrite,url-rewriting,subdomain,Apache,.htaccess,Mod Rewrite,Url Rewriting,Subdomain,我的网站结构如下: .htaccess index.html internal .htaccess test.html api.php 我已在GoDaddy中设置了一个子域,以便internal.ledworld-me.com映射到ledworld-me.com/internal,并且以下各项工作正常: 请求internal.ledworld-me.com/test.html将正确地提供test.html文件 现在我需要以下几点: 如果请求internal.ledworld-
.htaccess
index.html
internal
.htaccess
test.html
api.php
我已在GoDaddy中设置了一个子域,以便internal.ledworld-me.com映射到ledworld-me.com/internal,并且以下各项工作正常:
请求internal.ledworld-me.com/test.html将正确地提供test.html文件
现在我需要以下几点:
如果请求internal.ledworld-me.com/nonexistent/file,则URL应重写为ledworld-me.com/internal/api.php?\uuuuu-route\uuuu=/nonexistent/file
为了实现这一点,我在.htaccess文件中放了什么?我应该把代码放在哪个.htaccess文件中,在WebRoot下还是在internal下
请注意,GoDaddy负责将internal.ledworld-me.com改写为ledworld-me.com/internal。我只需要重写.htaccess文件的第二部分,即/nonexistent/file应重写为api.php?\uuuuu route\uuuu=/nonexistent/file
这真的很难解释这个问题,我已经尽了最大的努力,如果需要请澄清。谢谢大家! 将此代码放入/internal/.htaccess文件:
我的internal/.htaccess文件中的以下文本似乎起到了作用:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://ledworld-me.com/internal/api.php?__route__=/$1
我仍在测试所有场景,并将在完成所有测试后确认一切正常。这将显示一条404 not found消息,其中包含请求的URL/内部/不存在/文件在此服务器上未找到。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://ledworld-me.com/internal/api.php?__route__=/$1