I currently use the following htaccess code to remove all php extensions and also allow the /index.php page to load without the word "index" seeing that's the cost of removing .php:
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+[^/])$ $1.php [L]
I used to create a new page for every single user but as one could probably see, this is not such a good idea. So i deleted all the user pages and i would include them a different way but i would need to pass the requested page as a get parameter to another file. So I decided to route every main level (/) requested page through a file in a different directory, like so:
RewriteRule ^([^/]+)$ some/page.php?requested_page=$1 [L,QSA,NC]
But it does not work with the /index.php page if someone just requested it like this: /
i changed the code to:
RewriteRule ^(<?!)([^/]+)$ some/page.php?requested_page=$1 [L,QSA,NC]
and now the "/" request works and any page that really exist works, but the "fake user pages" now dont work. is there way i can possibly do both?
Try changing the regex to use *
instead of +
:
RewriteRule ^([^/]*)$ some/page.php?requested_page=$1 [L,QSA,NC]
Because the /
request is an empty URI (the leading slash is stripped before the rules get applied).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다