.htaccess hide subdirectory url after redirect

前端 未结 3 671
余生分开走
余生分开走 2021-01-13 16:50

I\'m redirecting a website to a subdirectory I created. The subdirectory contains an installation of WordPress and now I want to mask the subdirectory url from the website.<

相关标签:
3条回答
  • 2021-01-13 16:54

    Create a .htaccess file in root folder, and put this content inside (just change example.com and my_subdir):

     <IfModule mod_rewrite.c>
          RewriteEngine on
          RewriteCond %{HTTP_HOST} ^(www.)?example.com$
          RewriteCond %{REQUEST_URI} !^/my_subdir/
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ /my_subdir/$1
          RewriteCond %{HTTP_HOST} ^(www.)?example.com$
          RewriteRule ^(/)?$ my_subdir/index.php [L] 
        </IfModule>
    
    0 讨论(0)
  • 2021-01-13 17:00

    If you want to remove /apt from url why do you redirect "/" to "/apt"? Try this:

    RewriteRule !^apt/ /apt%{REQUEST_URI} [L,NC]
    

    instead of

    RewriteRule ^/?$ "http\:\/\/www\.mywebsite\.com/\apt" [R=301,L]
    

    With this rewrite you should see your application in /apt folder under url www.mywebsite.com

    0 讨论(0)
  • 2021-01-13 17:13

    Try with this: remove the redirect part then use this insead:

    RewriteCond %{THE_REQUEST} ^GET\ /apt/
    RewriteCond %{HTTP_HOST} ^(www\.)?mysite.com$
    RewriteRule ^apt/(.*) /$1 [L,R=301]
    RewriteCond %{HTTP_HOST} ^(www\.)?mysite.com$
    RewriteRule !^apt/ apt%{REQUEST_URI} [L]
    

    then use the same code for the main website.

    0 讨论(0)
提交回复
热议问题