How to remove part of URl with .htaccess?

后端 未结 5 442
星月不相逢
星月不相逢 2020-12-09 20:28

Currently i have 20+ URLs on my site in this formate

http://www.example.net/content/index/mission

I want to remove /content/index from all URLs, so they shou

相关标签:
5条回答
  • 2020-12-09 21:05
      # Get rid of index.php
      RewriteCond %{REQUEST_URI} /index\.php
      RewriteRule (.*) index.php?rewrite=2 [L,QSA]
    
      # Rewrite all directory-looking urls
      RewriteCond %{REQUEST_URI} /$
      RewriteRule (.*) index.php?rewrite=1 [L,QSA]
    

    Or just add index.html depending on whatever extention you want to remove and MOD_REWRITE is required on Apache for this to work. Thank you.

    0 讨论(0)
  • 2020-12-09 21:06

    You would need the rewrite module of Apache: mod_rewrite.

    Then do something like this:

    RewriteEngine on 
    RewriteRule ^content/index/(.*)$ $1
    

    Here is the official documentation of mod_rewrite: click

    0 讨论(0)
  • 2020-12-09 21:06

    I also have a script I wrote that you put on your server then browse to it via internet browser and it can confirm if you have mod_rewrite on your server. The way I showed you works 100% as long as mod_rewrite is enabled

    0 讨论(0)
  • 2020-12-09 21:07

    I'm going to guess you already have some rewrite rules in place for URLs like http://www.example.net/content/index/mission

    You need to find these rules and add a new one which uses a similar structure but 'hard codes' the content/index parts, for example, suppose the existing one was

    RewriteRule ^content/(.*)/(.*)$ /content.php?param1=$1&param2=$2 [L,qsa]
    

    You'd want to make a new rule to pick up /mission and rewrite it in a similar way, but before the existing rule kicks in, e.g.

    RewriteRule ^mission$ /content.php?param1=index&param2=mission [L,qsa]
    RewriteRule ^content/(.*)/(.*)$ /content.php?param1=$1&param2=$2 [L,qsa]
    

    These are just examples - it will really depend on what your existing rules are.

    0 讨论(0)
  • 2020-12-09 21:09
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/removedstring/
    RewriteRule ^removedstring/(.*)$ https://www.domain.eu/$1 [L,NC,R=301]
    
    0 讨论(0)
提交回复
热议问题