У меня есть проект Larvel 5.1
, который работает абсолютно нормально. предположим, что он размещен по адресу http://www.example.com
. Когда я перехожу к этому address
, он работает нормально, и нет нужного public/
в URL-адресе. Теперь единственная проблема заключается в том, что если кто-то идет по адресу , он видит содержимое домашней страницы без загрузки CSS и JS, что совершенно не подходит для SEO, поскольку оно будет считаться дублированным сайтом. Я пробовал искать через Интернет, но все отвечают, как удалить public/
из URL, но в моем случае он уже удален. Я просто не хочу, чтобы пользователь видел содержимое внутри public/
, если он явно туда идет. Есть ли способ достичь этого? Я также отправлю свой файл .htaccess
. Он получил много кода для включения кеша, добавив www.
с доменом. Пожалуйста, помогите мне решить эту проблему. Я полностью застрял. Вот мои .htaccess
содержимое файлаЯ не хочу обслуживать содержимое из общедоступного каталога Laravel 5.1
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
## EXPIRES CACHING ##
<IfModule mod_expires.c>
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
# Add a far future Expires header for fonts
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-opentype "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresDefault "access plus 1 week"
</IfModule>
## EXPIRES CACHING ##
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
Спасибо @Walf. Оно работало завораживающе. Помогло мне много. Думаю, я должен изучить документ Apache больше ;-) –
Apache docs блестящие, но на практике действительно практиковать применение общих концепций к конкретным проблемам. – Walf