Папка за пределами корневой папки и URL Переписывает

действительно ли следующий сценарий возможен и как я архивирую это в общей среде хостинга?

У меня есть установка Wordpress, которая находится в, скажем,

/httpdocs/wordpress

Мой домен указывает на эту папку. Так вызов

http://example.com 

результаты на странице Wordpress. Теперь я хочу добавить вторую систему. Но я не хочу загрязнять свой Wordpress и хотеть сохранить его за пределами этой папки. Я все еще хочу, чтобы это было доступно через

http://example.com/other-system

даже при том, что это находится в файловой системе в

/httpdocs/other-system

и нет

/httpdocs/wordpress/other-system

Это возможно? Я имею какой-либо смысл?Спасибо!

1
задан 8 November 2014 в 21:52
2 ответа

Я думаю, что вы хотите

Alias /other-system /httpdocs/other-system

Смотрите Псевдоним . В .htaccess вместо этого можно использовать

RewriteEngine on
RewriteRule ^/other-system/(.*)  /httpdocs/other-system/$1 [QSA]
2
ответ дан 3 December 2019 в 21:10

Din câte știu, nu puteți utiliza RewriteRule în fișierele .htaccess pentru a ieși din DocumentRoot, deoarece acest DocumentRoot va fi adăugat întotdeauna la începutul adresei URL rescrise.

sfătuiți să puneți fiecare aplicație într-un folder separat sub DocumentRoot. De exemplu, utilizați DocRoot / wordpress și DocRoot / altele.

Acum, dacă doriți adrese URL frumoase precum

www.example.com => wordpress app

www.example.com/other => aplicația pentru alt sistem

și doriți, de asemenea, această adresă URL, cum ar fi www.example.com/wordpress sunt redirecționate către www.example.com , atunci puteți utiliza ceva de genul următor în fișierul dvs. .htaccess:

RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} !=""
RewriteRule .  -  [L]

RewriteCond %{REQUEST_URI} ^/other/(.*)?$
RewriteRule . - [L]

RewriteBase /
RewriteCond %{REQUEST_URI} ^/wordpress/.*$
RewriteRule ^wordpress/(.*)$ $1 [R=301,L]

RewriteCond %{REQUEST_URI} !^/wordpress/.*$
RewriteRule ^(.*)$ /wordpress/$1 [L]

A doua regulă de rescriere se potrivește cu cealaltă aplicația nu face altceva decât să o seteze ca ultima rescriere în această trecere.

A treia rescriere face o redirecționare permanentă de la example.com/wordpress la example.com.

Acum, prima regulă nu face nimic, dar dacă redirecționarea este setat la ceva în trecere înainte, se oprește. Acest lucru evită o buclă de redirecționare infinită.

Ultima rescriere redirecționează intern totul către folderul wordpress. Adresa URL din browser rămâne fără folderul wordpress din acesta.

Aș fi curios să aflu dacă funcționează cu aplicațiile dvs. ... Sper că vă va aduce mai departe.

0
ответ дан 3 December 2019 в 21:10

Теги

Похожие вопросы