Php 通过htaccess从url中删除公共html
我在服务器上有一个遗留项目,实际框架位于public_html文件夹上方的文件夹中。因此,目录结构如下所示:Php 通过htaccess从url中删除公共html,php,apache,.htaccess,mod-rewrite,url-rewriting,Php,Apache,.htaccess,Mod Rewrite,Url Rewriting,我在服务器上有一个遗留项目,实际框架位于public_html文件夹上方的文件夹中。因此,目录结构如下所示: Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ - [L] RewriteRule . index.php [QSA,NS] RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRul
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule . index.php [QSA,NS]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule . /index.php [L,QSA,NS]
- 域名
- 应用程序/
- 框架/
- 公共网页/
- index.php
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule . index.php [QSA,NS]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule . /index.php [L,QSA,NS]
- 违约/
- 应用程序/
- 框架/
- 公共网页/
- index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /public_html/$1 [QSA,L]
</IfModule>
所以,当我去我的网站,它的工作。但当我点击一个链接时,我得到:
但是我不想在我的url中使用公共html。如何修复此问题?您可能需要搜索一种创建虚拟主机的方法。我知道我的一些网络主机允许我通过我的管理页面配置vhost。它会让你的服务器考虑URL而不包含指定的文件夹,但是回到它执行需要重定向的阶段。 < p>你应用了正确的规则, 但问题是,要解决此问题,您必须链接
从中删除公共html 你的所有链接,它将自动重定向到你需要的
没有公共html的路径 您能否将应用程序和框架文件夹级别设置为文件夹层次结构中的默认值,并将默认值替换为公共html?请包括您请求的URL以及所需的文件系统路径。如果您在html源代码的链接中看到
public\u html
,那么这是您需要在应用程序中解决的问题,而不是.htaccess
。将这个“遗留项目”包含在公共Web空间中也会引起安全问题。“他指向默认文件夹”-谁是“他”?取决于您的代码(和服务器环境),但有时我会保持代码不变,并从web根目录创建符号链接。类似于:default/index.php
到public\u html/index.php
,它可能位于文档根目录之外。链接的html源代码是什么。你的HTML中有
吗?Laravel如何融入其中?我的坏朋友,我以为我看到了Laravel标签和公用文件夹让我想起了Lar!