PHP Friendly URL для моего скрипта - PullRequest
0 голосов
/ 13 октября 2011

У меня есть сайт, который я конвертировал, чтобы использовать cms. Это работает отлично, и у меня есть дружественные URL-адреса, работающие также хорошо. Моя проблема связана с небольшим сценарием, который я написал сам, и как лучше всего его интегрировать. Скрипт представляет собой скрипт галереи, он читает каталог и выводит отформатированную галерею в формате html. Я планировал сделать его определяемым пользователем тегом в cms, что стало проще, но я наткнулся на небольшую загадку.

Сценарий галереи должен иметь возможность читать два значения из URL-адреса groupId и showpage.

Если я использую дружественные URL-адреса, то cms и использую тег, я попадаю в ловушку, когда cms пытается найти фактическую страницу по адресу "www.mysite.com/gallery/mygroup/2", а затем выдает 404.

в основном мне нужно

http://www.mysite.com/gallery/photogroup/2

переписано на

http://www.mysite.com/gallery.php?groupId=photogroup&showpage=2

UPDATE Следуя совету Юрия, я добавил его правило в htaccess. Но я столкнулся с еще одной загадкой. Так, например, если мы пойдем в http://www.mysite.com/gallery/photogroup/2 тогда правило Юрия должно вступить в силу. Но этот путь также является правильным физическим каталогом на моем сайте по совпадению. Есть ли способ, чтобы правило переписывания вступило в силу вместо того, чтобы выводить меня на белый экран, просматривая файлы в каталоге, или на запрещенный экран, если у меня отключены индексы, что я и делаю.

Ниже мой htaccess

php_flag magic_quotes_gpc Off

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1

RewriteRule ^gallery/(\w+)/(\d+)$ gallery.php?groupId=$1&showpage=$2 [QSA,L]

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

Итак, вы пытались написать в .htaccess что-то вроде этого?

RewriteEngine On
RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteRule ^gallery/(\w+)/(\d+)$ gallery.php?groupId=$1&showpage=$2 [QSA,L]
0 голосов
/ 13 октября 2011

звучит как "модуль" для меня.Может быть, это Заставьте ваш модуль использовать чистые URL

...