Я хочу, чтобы мой URL перейти отmod_rewrite удалить подпапку и PHP
root.com/sub/?page=home
К
root.com/home
Я хочу чтобы удалить подпапку, удалите php и просто оставьте основной код. Также, если возможно, я хочу перенаправить все, кроме «root.com/[*]» обратно на root.com. Например, «root.com/home/index.php?page=home» и «root.com/sub/test/» будут перенаправлены обратно на «root.com».
.htaccess и mod_rewrite, кажется, лучший способ До сих пор у меня есть это:
RewriteEngine On
#remove subfolder, WORKS
RewriteCond %{HTTP_HOST} ^root\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.root\.com$
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule (.*) /sub/$1 [L]
Это работает и удалить подпапку
#remove PHP, not working :S
RewriteRule ^([a-zA-Z0-9_-]+)$ /index.php?page=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/$ /index.php?page=$1 [L]
Но это не работает, и оставляет " ? page = home 'ect Я думаю, что я что-то пропустил перед регулярным выражением для второго правила, но им стал новый.
Заранее благодарен!
РЕДАКТОРА: учтено [L] вещь, все еще нет кубиков.
Я предполагаю, что это нужно сделать за один удар, а не за отдельными итерациями.
шишка/я нашел еще одну проблему, когда я просматривать сайт с моего компьютера он (первая часть) показывает как «www.root.com/page», что хорошо, но на моем компьютерном компьютере он отображается как «www.root.com/sub/page» wtf. – Neros