2015-03-03 7 views
-1

У меня есть сайт на wordpress, размещенный на godaddy и внутри этой папке веб-сайта wordpress. У меня есть папка другого проекта на основе простого веб-сайта php. Теперь я хочу скрыть расширение .php с этого веб-сайта. Затем я создал файл .htaccess и написал собственные правила, чтобы скрыть расширение, но ни одно из правил не работает в этом файле. Я потратил весь день на эту проблему, но не получил решения.Скрыть расширение .php из файла подкаталогов файлом .htaccess

  URL: http://www.web.com/folder/file.php 

и я хочу, как этот

  URL://www.web.com/folder/file 

У меня есть этот файл .htaccess в Wordpress. Он расположен в/public_html/(веб-корень). Мне нужно включить папку (techC) на основе пользовательских страниц внутри папки Wordpress. Затем для удаления расширения я должен сделать другой .htaccess внутри techC или wordpress .htaccess. Если wordpress .htaccess, то как я могу написать правило для этого.

+1

Возможная дубликата [Удалить расширение .php с .htaccess] (http://stackoverflow.com/questions/4026021/remove-php-extension-with-htaccess) – Machavity

ответ

1

Первое место это правило, как очень первое правило в /public_html/.htaccess:

RewriteRule ^folder(/|$) - [L,NC] 

Тогда внутри /folder/.htaccess этот код:

RewriteEngine On 
RewriteBase /folder/ 

## hide .php extension 
# To externally redirect /dir/file.php to /dir/file except for POST requests 
RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{THE_REQUEST} /folder/(.+?)\.php[\s?] [NC] 
RewriteRule^%1 [R=302,L,NE] 

# To internally forward /dir/file to /dir/file.php 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}\.php -f [NC] 
RewriteRule ^(.+?)/?$ $1.php [L] 
+0

Спасибо @anubhava, его работа, но ошибка файла 404. –

+0

Как я могу сменить вызов ajax. Это не работает. Всегда страница перенаправляется в индексный файл. –

+0

Приходит, но проблема в том, что моя страница входа работает с ajax, который не работает, я устранил проблему, когда переменная post не входит в эту папку обработчика. –

1

попробовать это:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{THE_REQUEST} ^.*/index.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L] 
+0

Благодарности @pakistanimoon Все еще получаю расширение. Еще одна вещь, которую я должен задать, где я должен поместить этот файл .htaccess. Прямо сейчас я помещаю это в папку, указанную в url. –

+0

поместите его в корневой каталог –

+0

, который является www.web.com/, вы должны поместить этот файл в папку, где находится ваша папка. –

0

видеть подобный вопрос здесь wordpress htaccess how to remove all the php extension except index.php

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

    # *** START CUSTOM PART *** 
    RewriteRule ^page1$  /custom/page1.php [L,QSA] 
    RewriteRule ^page2$  /custom/page2.php [L,QSA] 
    # *** END CUSTOM PART *** 

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