我正在弄清楚如何清理我的Silex应用程序的URL在我的apache服务器的子目录中。这是实际路径:/domains/mydomain.com/public_html/silex
,包含以下子目录:
public_html/
css/
images/
js/
.htaccess
index.php
src/
templates/
vendor/
所以,如果我转到:http://www.mydomain.com/silex/public_html/
我会找到正常工作的Silex应用,但在网址中您可以看到public_html/
目录。我想以某种方式隐藏它,因为about/
,contacts/
等所有网页都会在它们前面包含该子目录。
如何避免?
这是我的.htaccess
:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
基本上,我只是希望我的网址变成这样:
http://www.mydomain.com/silex/about
http://www.mydomain.com/silex/contacts
http://www.mydomain.com/silex/admin
(etc...)
而不是:
http://www.mydomain.com/silex/public_html/about
http://www.mydomain.com/silex/public_html/contacts
http://www.mydomain.com/silex/public_html/admin
(etc...)
非常感谢所有人! :)
答案 0 :(得分:0)
以下是几个选项(您必须将它们全部放在第一个public_html的.htaccess中):
RewriteRule ^silex\/(.*)$ silex/public_html/index.php?screen=$1 [NC]
- 使用这个,你可以使用$ _GET ['screen']在index.php中捕获变量并加载你想要的任何内容。RewriteRule ^silex\/about$ silex/public_html/about.php
| RewriteRule ^silex\/contacts$ silex/public_html/contacts.html
等。如果您有任何其他问题,请与我们联系。