2016-08-25 3 views
-1

Я недавно изменил свой хостинг, и мне нужны правила перезаписи htaccess для моих файлов. Я пробовал много примеров, но никто не работает для моего дела. Я никогда не был действительно хорош в htaccess и на моем более раннем хостинге, мне действительно не нужно ничего, что только что сработало, но здесь нет. В основном я хочу, чтобы мои PHP-файлы не были расширениями и обрабатывались как каталог. Так, например, у меня есть URL, как эти:Правило перезаписи URL-адреса htaccess

www.domain.com/file1/{id}/{nick}

Так, например:

www.domain .com/myfile1/104/имя пользователя

www.domain.com/myotherfile/455/nick

File1 в этом случае является файлом PHP, а {id} и {nick} являются изменяемыми. У меня есть эта структура на всем моем сайте для многих других файлов PHP и т. Д. Поэтому, если возможно, я хочу одно универсальное правило для всех файлов. Я попытался с htaccess удалить php extenstion и т. Д., Но все, что у меня есть, - ошибка 404. Также URL-адрес в браузере должен оставаться дружественным без расширения PHP. Поэтому в моем случае, если я переписал свой URL вручную в: www.domain.com/file1.php/{id}/{nick}, он работал, но я не хочу менять все ссылки и т. Д. На моем сайте. Поэтому все, что я хочу, это скрыть расширение PHP и обрабатывать файлы PHP как каталог.

Благодаря

ответ

2

Вы можете использовать эти единственные и общие правила фронта контроллера в месте корневой .htaccess:

AcceptPathInfo On 
DirectoryIndex index.php 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([\w-]+)/(.*)$ $1.php/$2 [L] 
+0

Спасибо. Я попробовал, но у меня получилось: не указан входной файл. Когда я попытался посетить URL-адрес, например: www.domain.com/file/123/user – StudioArena

+0

Это правило отлично работает на моем Apache. Протестируйте его только с этим правилом на вашем корневом сайте .htaccess – anubhava

+0

У меня есть только это в моем htaccess на root и не работает. Это странно, но я ищу решение в течение нескольких часов, и ничего не работает. – StudioArena

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