我在开发界新人。 我拼命地试图获得良好的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]
我做了很简单的东西,现在因为我试过很多东西没有有效的结果。
真的不知道你正在尝试做的,但如果你想删除/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]