#laravel #apache #.htaccess #mod-rewrite
#laravel #apache #.htaccess #мод-переписать
Вопрос:
Я установил сервер ubuntu 16.04, и у меня много проектов laravel в /var / www / html с числовой папкой, как показано ниже:
<pre>
121744
content
app
bootstrap
config
database
public
resources
routes
storage
tests
vendor
composer.json
composer.lock
server.php
....
</pre>
<pre>
12877
content
app
bootstrap
config
database
public
resources
routes
storage
tests
vendor
composer.json
composer.lock
server.php
....
</pre>
<pre>
8798
content
app
bootstrap
config
database
public
resources
routes
storage
tests
vendor
composer.json
composer.lock
server.php
....
</pre>
В соответствии с указанной выше папкой для открытия приложения laravel в браузере URL-адрес выглядит следующим образом:
http://example.com/121744/content/public
http://example.com/12877/content/public
http://example.com/8798/content/public
Содержимое URL-адреса является общим.
Я хочу удалить содержимое из URL-адреса, чтобы URL-адрес выглядел следующим образом:
http://example.com/121744/public
http://example.com/12877/public
http://example.com/8798/public
Расположение файла .htaccess в var/www/html/.htaccess
.
Пожалуйста, помогите мне, как мне заставить htaccess сделать это?
Комментарии:
1. Не уверен, что это просто ваша терминология, но вы не используете
.htaccess
для «удаленияcontent
из URL», как это. Вам нужно фактически изменить URL-адреса в вашем приложении, чтобы удалитьcontent
сами ссылки — вы уже это сделали? Затем вы должны использовать.htaccess
для 2-й части, чтобы внутренне переписать URL-адрес, который не содержитcontent
, чтобы добавить его обратно, чтобы URL-адрес «работал». (Только если вы уже изменили структуру URL-адреса и вам необходимо сохранить SEO, вы бы подумали о том, чтобы фактически «удалить»content
из URL-адреса с помощью.htaccess
.)
Ответ №1:
Не могли бы вы попробовать следующее.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(d )/content/([w-] )/?$ /$1/$2 [NC,L]
Если ваш public
каталог исправляется каждый раз, попробуйте:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(d )/content/(public)/?$ /$1/$2 [NC,L]