【发布时间】:2014-03-19 16:20:12
【问题描述】:
我想从我的网址中删除公用文件夹和 index.php。
示例 我当前的网址看起来像
http://localhost/elibrary/public/
我想删除公共,我的网址应该是这样的
http://localhost/elibrary/
我的 .htaccess 文件包含。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /elibrary/
## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s/+(.+?[^/])[?\s] [NC]
RewriteRule ^ /%1/ [L,R=301]
# remove /public/ from URL
RewriteCond %{REQUEST_URI} !/public/ [NC]
RewriteRule ^(.*?)/?$ public/$1 [L]
我读了这篇文章.htaccess: remove public from URL 并提出了上面的 .htaccess 文件。此 .htaccess 文件成功删除公用文件夹,但所有 Web 格式(如 css)都丢失了。
但是当我尝试这个http://localhost/elibrary/index.php/ 时,它显示了 404 页面,但所有格式都回来了。
如何从我的网址中成功删除 public 和 index.php ?我正在使用 zend 框架 2
【问题讨论】:
-
我按照上述建议更改了 .haccess 文件。但它在浏览器中显示了文件和目录列表。如果我点击公用文件夹,它会打开网站。为什么上述解决方案对我不起作用。
标签: apache .htaccess mod-rewrite url-rewriting zend-framework2