Перенаправить в другую папку - PullRequest
0 голосов
/ 29 марта 2011

Я прочитал .htaccess переписать, чтобы перенаправить корневой URL-адрес в подкаталог , и я пытаюсь добиться того же.

Решение с наибольшим количеством голосов было:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^$ store [L]

Теперь, глядя на комментарии, похоже, работает хорошо. Проблема заключается в том, что я не хотел бы жестко задавать какой-либо путь (как вместо этого указано выше «www.example.com»). Мне бы хотелось, чтобы мой .htaccess изнутри projectname/ перенаправлялся на projectname/public/, несмотря на то, что является реальным хостом сервера. Так что если я помещу projectname/ внутри корневого сервера www.pinco.com, он перенаправляется на www.pinco.com/projectname/public/, но показывает www.pinco.com/projectname/.

Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 29 марта 2011

Пример, который вы нашли, на самом деле делает две разные вещи.

# This is actually just redirecting all http://example.com/somepage/
# to http://www.example.com/somepage/, to ensure all URLs have the www.
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]  

Второе переписывание - это то, что поможет вам достичь того, что вы пытаетесь сделать.

# This redirect all requests for http://example.com -> http://example.com/newdir
# If you are looking to redirect the request, so the URL contains directory name,
# you can change the [L] to [R=301,L]
RewriteRule ^$ /newdir [L]

# If your concerned about direct access to a particular page without the sub-dir 
# you will want to add something like this
RewriteCond %{REQUEST_URI} !^/newdir
RewriteRule (.*) /newdir$1 [R=301,L]

Итакв этом случае вам не нужно беспокоиться о домене, на котором запущено приложение.

0 голосов
/ 29 марта 2011

попробуйте добавить эту строку и:

RewriteBase /projectname

И вы остаетесь в проекте.

...