React JS Render Props за управление на регистрираното състояние и пренасочване на потребители

В момента работя върху PHP блог. Къде съм използвал .htaccess файл, за да получите чист URL, ето кода:

RewriteEngine On RewriteCond %{HTTPS} !=off RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule (.*) http://www.example.com/$1 [R=301,L] RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)?$ post.php?post_id=$1&title=$2 [L] RewriteRule ^(.+)/(admin|css|fonts|ico|include|js|images)/(.*)$ $2/$3 [L] 

Получих този код онлайн. Тъй като аз съм нов в PHP и това .htaccess нещо, затова нямам много представа за това.

URL преди добавяне .htaccess файлът беше:

http://www.example.com/post.php?post_id=12&title=post-title 

И URL след добавяне .htaccess файл:

http://www.example.com/12/post-title 

Така RewriteRule ми даде URL адреса, който искам. Но това е причинило грешка при пренасочването на страницата. Преди да използвате .htaccess файл, когато щракнах върху бутона за начало след посещение на следния URL:

http://www.example.com/post.php?post_id=12&title=post-title 

след това URL адресът е пренасочен успешно към началната страница, тоест:

http://www.example.com/index.php 

Но сега след използване .htaccess файл след посещение на същия URL адрес, той се пренасочва по следния начин:

http://www.example.com/12/index.php 

И сега изстрелва 404 страница не е намерена грешка. Тъй като технически няма такава страница под 12 директория на сървъра. Така че в основата си той добавя 12 пред всеки файл.

Така че след посещение на следната връзка: http://www.example.com/12/post-title Искам да пренасочва правилно, тъй като пренасочваше страниците, преди да добави .htaccess файл.

Звучи така, сякаш (неправилно) свързвате с a роднина URL (напр. index.php) вместо корен относителен URL (започвайки с наклонена черта, напр. /index.php) или дори абсолютен URL (схема + хост + URL-път).

Например, ако се свържете с index.php и вие сте на URL адреса /12/post-title тогава това естествено ще реши да /12/index.php (неправилно). Докато ако трябва да се свържете с /index.php тогава това ще реши до /index.php (правилно).

Искате ли обаче наистина index.php във вашите URL адреси? Обикновено бихте искали да свържете към директорията (с наклонена черта) и да оставите сървъра да отговори със съответния индекс на директория. Например:

Home 

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?