URL重写的“公共”文件夹的索引(URL-rewriting with index in a “pu

2019-08-02 04:28发布

我在开发界新人。 我拼命地试图获得良好的URL。 我检查了类似的问题的网站,但我无法找到正是我需要的。 或者我这样做不好。

这里的情况是:我建立了一个项目一个网站,其index.php文件是一个名为公共文件夹中。

为了更清楚,这里是我现在有URL到达建网站的首页:HTTP://域名Name.com/文件夹/网站/公共名称

我担心的是有关文件夹公众:它出现在URL我不想。 这是我想获得的网址:HTTP://域名Name.com/文件夹/网站名称

其实,我想这个URL允许获得放到文件夹“公共”的索引文件。

我无法访问Apache的配置(共享主机),所以我有我的.htaccess放置在项目(即: 网站/.htaccess的WWW /文件夹/名称 )。 下面是它的内容:

Options -Indexes +FollowSymLinks +Multiviews
RewriteEngine On
RewriteBase /public/
RewriteRule ^(.*)$ index.html [NC,L]

我做了很简单的东西,现在因为我试过很多东西没有有效的结果。

Answer 1:

真的不知道你正在尝试做的,但如果你想删除/public/出现在URL路径,您需要从所有的链接删除,第二,关闭多视图,这不是你想要的,第三,你需要一个规则,在外部浏览器重定向当一个请求是为制作/public/ ,那么你就需要在内部重写请求指向公众。

Options -Indexes +FollowSymLinks -Multiviews
RewriteEngine On

# externally redirect, must match against %{THE_REQUEST}
RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /public/
RewriteRule ^/?public/(.*)$ /$1 [L,R=301]

# internally rewrite it back, but we must first check that it's pointing to a valid resource:
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -d [OR]
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -s
RewriteRule ^(.*)$ /public/$1 [L]


文章来源: URL-rewriting with index in a “public” folder