В настоящее время я работаю над проектом, основанным на самодельном CMS, и у меня возникают некоторые проблемы с переписыванием URL.RewriteRule для нескольких параметров
Вот что: весь сайт централизован вокруг index.php, который находится в основном каталоге. В зависимости от того, что он получает подумал URL, то index.php отображает правильную страницу (страницы включены от ИНК/страницы/папки)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule^%1 [L,R=301]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1 [NC]
Для одного параметра, он прекрасно работает. http://demo.com/subscribe/ или demo.com/subscribe передает индекс $ _GET ['page'] в индекс.
Для некоторых страниц мне нужен второй параметр. Поэтому это не требуется для каждой отдельной страницы. За пример, http://demo.com/edit/I-love-Stackoverflow должен передать $ _GET [ 'snd_param')
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule^%1 [L,R=301]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ index.php?page=$1&snd_param=$2 [NC]
Я попробовал это, но это не работает хорошо. Во-первых, если второй параметр не указан (demo.com/edit), он не работает. Индекс не получает права $ _GET ['page']. Во-вторых, когда упоминается второй параметр, он «работает», но apache считает, что это каталог. Затем моя индексная страница находится в фиктивной папке «I-love-Stackoverflow» и загружается CSS, изображения и javascript.
Надеюсь, я подробно объяснил свою проблему! Заранее спасибо за помощь
Большое спасибо за помощь. Он отлично работал. Я добавил дополнительные /? до окончания $, чтобы разрешить оба URL (с или без final /) работать! Теперь я исправлю этот вопрос об абсолютных и относительных путях. Как вы думаете, можно ли это решить, используя относительные пути и создав дополнительный rewriteRule? Например, когда есть два параметра, папка активов/переписана в соответствии с путями? – TheJals
SOLVED - я исправил проблему, используя html tag :) Спасибо за вашу помощь! –
TheJals
Пожалуйста, проверьте это сообщение: http://stackoverflow.com/questions/1889076/is-it-recommended-to-use-the-base-html-tag/1889898#1889898 – vitozev