Je souhaite 301 rediriger mon fichier de configuration situé à l'emplacement /etc/Apache2/sites-available
vers un autre dossier sur le serveur lui-même. Mais quand j'ai ajouté:
Redirect 301 / /var/www/web/public_html
dans le fichier de configuration et redémarré Apache2, l’URL apparaît comme suit:
http://www.example/var/www/web/public_html/var/www/web/public_html...
Comment puis-je rediriger 301 vers un dossier et non vers une URL?
Bien qu'il existe un certain chevauchement entre le système de fichiers et l'URL, ce chevauchement n'existe que dans l'espace Web. /var/www/web/public_html
n'est pas dans l'espace Web. Vous ne pouvez pas utiliser cette spécification. Vous pouvez uniquement faire référence à quoi que ce soit dans le répertoire public_html
.
En prenant ce que nous avons discuté dans les commentaires, utilisez le code ci-dessous dans un fichier .htaccess dans le répertoire public_html
. Sachez que tout fichier contenant .
et en particulier tout fichier commençant par .ht
sera masqué. Vous devrez avoir un accès Shell (SSH) à votre serveur.
> cd /var/www/web/public_html
> vi .htaccess
Bien sûr, vous pouvez utiliser un panneau de configuration pour cela, cependant, je ne sais pas comment vous guider.
Collez le texte suivant dans votre fichier .htaccess et enregistrez-le.
RewriteCond %{REQUEST_URI} !^/index.html$ [NC]
RewriteRule .* /index.html [R,L]
En supposant que j'ai ce droit, la première ligne exclut toute demande not pour /index.html et la deuxième ligne prend ces demandes et les redirige vers /index.html. En d'autres termes, sinon /index.html, alors [show] /index.html.
Si vous souhaitez voir une liste des fichiers de votre répertoire, y compris des fichiers cachés, vous pouvez utiliser:
> ls -al
Dans un panneau de configuration, vous pouvez afficher les fichiers cachés dans votre gestionnaire de fichiers.
Bien sûr, ce n'est que temporaire jusqu'à ce que vous trouviez votre site Web. Tiens nous au courant de comment ça se passe.