0

こんにちはすべて私はcodeigniter用の通常のhtaccessファイルを持っていますそして私は1つのURLを別のURLに301したいです

投稿できるようにリンクを難読化する必要がありました:(

つまり、h2tp:// www domain com / controller / method / value1-> h2tp:// www domain com / controller / method / value2

しかし、私は時間の地獄を持っています...

これがhtaccessです

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /

        RewriteRule ^(home(/index)?)/?$ / [L,R=301]
        RewriteRule ^(.*)/index/?$ $1 [L,R=301]


        #Removes trailing slashes 
        #had to remove ajaxquery search else it fails
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} !(search/ajaxsearch)
        RewriteRule ^(.+)/$ $1 [L,R=301]


        #Rewrite all non-www to www based filenames
        #should get rid of any canonical issues
        RewriteCond %{HTTP_HOST} ^domain\.es [NC]
        RewriteRule ^(.*)$ http://www.domain\.es/$1 [R=301,L]


        #Removes access to the system folder by users.
        #Additionally this will allow you to create a System.php controller,
        #previously this would not have been possible.
        #'system' can be replaced if you have renamed your system folder.
        RewriteCond %{REQUEST_URI} ^system.*
        RewriteRule ^(.*)$ /index.php?/$1 [L]

        #Checks to see if the user is attempting to access a valid file,
        #such as an image or css document, if this isn't true it sends the
        #request to index.php
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php?/$1 [L]



    </IfModule>

    <IfModule !mod_rewrite.c>
        # If we don't have mod_rewrite installed, all 404's
        # can be sent to index.php, and everything works as normal.
        # Submitted by: ElliotHaughin

        ErrorDocument 404 /index.php
    </IfModule>[/code][/quote]

入れたら

    Redirect 301 /controller/method/value1 h2tp://www domain com/controller/method/value2 

私はこれを手に入れます

h2tp:// www domain com / controller / method / value2?controller / method / value1

私は今これに何時間もかかっています、それは私を殺しています:)

4

1 に答える 1

0

htaccess に関する知識がまったくないため、これらの行の下に 301 リダイレクトを追加しようとしました。

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]

それまでにすべてのチェックが実行され、[L] フラグが実行中のチェックを停止していました。

したがって、次の行の上に通常の 301 リダイレクトを投稿すると、機能しました。

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]
于 2013-03-14T16:20:44.900 に答える