2014-12-30 3 views
1

У меня есть веб-сайт Wordpress в локальном хосте с XAMPP. Теперь у меня есть URL-адрес, как это:Удалить конкретный слизень с htaccess

http://localhost:82/subdirectory/images.html/nggallery/tags/[tagname] 

Теперь я хочу это:

http:// localhost:82/subdirectory/images/nggallery/[tagname] 

Чтобы удалить теги, я пробовал много кодов, как это:

RewriteRule ^tags/(.+)/$ /$1 [R=301,L] 

но Безразлично Не работай. Помогите мне, пожалуйста.


Я использую WordPress, мой файл Htaccess выглядит следующим образом

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /subdirectory/ 

    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /subdirectory/index.php [L] 
</IfModule> 
# END WordPress 

ответ

0

Прежде чем отвечать, лучше использовать идею htaccess для этого - использовать модули перезаписи Wordpress.

В любом случае, вам необходимо указать конкретные правила до Главное правило Wordpress.

Вы можете заменить текущий код этого один в вашем Htaccess (который должен быть в вашей папке subdirectory)

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
    Options +FollowSymLinks -MultiViews 

    RewriteEngine On 
    RewriteBase /subdirectory/ 

    # redirect /.../tags/XXX to /.../XXX 
    RewriteCond %{THE_REQUEST} /images\.html/nggallery/tags/([^\s\?]+)\s [NC] 
    RewriteRule^images/nggallery/%1? [R=301,L] 

    # internally rewrite /.../XXX to /.../tags/XXX 
    RewriteRule ^images/nggallery/(.+)$ images.html/nggallery/tags/$1 [L] 

    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule^index.php [L] 
</IfModule> 
# END WordPress 
+0

Я пробовал: RewriteCond% {THE_REQUEST} /images\.html/nggallery/tags/([^\s\?]+)\s [NC] RewriteRule^images/nggallery /% 1? [R = 301, L], но если я поеду на сайт www.site.com/subdirectory/images.html, я возьму здесь: www.site.com/images – angelo

+0

Своеобразное, я просто испытал и работает как ожидается. Где находится ваш htaccess? В папке 'подкаталог'? –

+0

Конечно. Теперь я попробовал это и, похоже, работал: RewriteRule^images.html $/подкаталог/изображения [R = 301, L]. Новый URL-адрес: http://www.example.com/subdirectory/images (без .html), но я получаю ошибку 404 :( – angelo

0

попробовать Http: // Localhost: подкаталог 82// изображения/nggallery/[тэг]

RewriteRule ^nggallery/tags/(.*)$ http://localhost:82/subdirectory/images/nggallery/$1 
+0

не работает. Мой код # НАЧАТЬ WordPress RewriteEngine На RewriteBase/подкаталог/ RewriteRule^индекс \ .php $ - [L] RewriteCond% {REQUEST_FILENAME} -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. /subdirectory/index.php [L] RewriteRule^nggallery/теги /(.*)$ HTTP: // локальный: подкаталог 82// изображения/nggallery/$ 1 # END WordPress – angelo

+0

Это жёстко имя сервера и порт, которого, вероятно, следует избегать. (Если вам когда-либо понадобится/нужно изменить порт, это еще одно место для его изменения. Глядя на [RewriteRule docs] (http://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html#), –

Смежные вопросы