Это файловая структура сайта:
site_one_folder
index.php
В файле site_one_folder есть файл:
controller.php
Я хочу написать правило перезаписи для
www.mysiteurl/something.php
Затем браузер отобразит указанный выше URL-адрес, но контент должен быть
'www.mysiteurl/site_one_folder/controller.php?para=something'
NB: para = поиск имени файла, исключая (.php)
Попробуйте добавить это в файл htaccess в нашей корневой папке (где index.php
):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)\.php$ /site_one_folder/controller.php?para=$1 [L,QSA]
Убедитесь, что mod_rewrite включен.
Первое условие для прямого доступа к index.php. 2nd, чтобы избежать бесконечного перенаправления
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteCond %{REQUEST_URI} !^/site_one_folder/controller.php$
RewriteRule ^(.+)\.php$ site_one_folder/controller.php?para=$1 [L]