我的网站结构如下:
.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
,则应将网址重写为ledworld-me.com/internal/api.php?__route__=/nonexistent/file
。
为了达到这个目的,我在.htaccess
文件中放了什么?我应该在哪个.htaccess
文件中添加代码,WebRoot
下的文件或internal
下的文件?
请注意,GoDaddy正在处理从internal.ledworld-me.com
到ledworld-me.com/internal
的重写。我需要我的.htaccess
文件才能完成重写的第二部分,即/nonexistent/file
应该被重写为api.php?__route__=/nonexistent/file
。
解释这个问题真的很难,而且我已经尽力了,请在需要时请求澄清。谢谢!
答案 0 :(得分:0)
将此代码放入 /internal/.htaccess
文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ api.php?__route__=/$1 [L,QSA]
答案 1 :(得分:0)
我的内部/ .htaccess文件中的以下文字似乎可以解决问题:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://ledworld-me.com/internal/api.php?__route__=/$1
我仍在测试所有场景,并且在完成所有测试后确认一切正常。