好吧,我有一个共享主机,我没有ssh访问权限。问题是服务器结构和symfony结构...
服务器具有此结构
错误/ 登录/ ... 网/
在web目录中我们可以加载web应用程序... symnfony结构是..
应用程序/ .. 网/
问题是,对于我的域名,如果我尝试访问,我必须将www.domainname.com/web/放入symfony项目的访问....
1)如果我尝试将所有网络symfony内容复制到网络目录,它会渲染第一页确定(index.php),但链接错误,因为它们是www.domainame.com/moduleName/,并且此目录不存在..
2)如果我在web域dir中创建一个.htacces文件...当我把它放到www.domainname.com时,它会将我重定向到web自动,但其他链接在他的网站上有www.domainname.com/web/moduleName/方向
我只想www.domainname.com/moduleName / ...我怎么做?
紧急。
感谢。
EDIT1。这是我的.htaccess文件......
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /
# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ web/index.php [QSA,L]
</IfModule>
EDIT2。另一个问题
..
/web/
app/
...
web/
/blog/
如果我修改了这个,我将无法访问我的/ blog / dir? 感谢
答案 0 :(得分:1)
的.htaccess mod_rewrite的
答案 1 :(得分:0)
为了从网址中删除/ web,您需要使用名为mod_rewrite的apache模块。像这样:
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /
# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
这方面的文档是here。
设置symfony的正确方法是使用指向Web文件夹的虚拟主机。这将使用Web文件夹作为您的根目录,因此您不会在网址中看到它。