Вот вся моя .htaccess:.htaccess: Как выполняются слэши (/) в RewriteRule?
RewriteEngine On
RewriteBase /~user/sitetest/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ view.php?id=$1
Когда я достигаю http://localhost/~user/sitetest/abc123, она загружает значение $ _GET [ "ID"] и все работает отлично. Это великолепно!
Но я хотел, чтобы работать на http://localhost/~user/sitetest/view/abc123 (уведомление "Вид /")
Так что я попытался заменить RewriteRule
с:
RewriteRule ^view/(.+?)/?$ view.php?id=$1
Но без толку! Кажется, он не загружает $ _GET [] из view.php. Я даже пытался вторя из [] к значению $ _GET, но он показывает, как пустой, когда доступ http://localhost/~user/sitetest/view/abc123
Так я редактировал его, чтобы увидеть, если это будет работать:
RewriteRule ^view-(.+?)/?$ view.php?id=$1
И это происходит, когда я достигаю http://localhost/~user/sitetest/view-abc123 (обратите внимание на «-» вместо «/»)
Значит, это как-то связано с косой чертой? Я потерян и изо всех сил пытался понять это.
EDIT:
я все еще возникают проблемы, но я заметил, когда я попробовал:
RewriteRule ^test/(.+)/?$ view.php?id=$1
И доступ http://localhost/~user/sitetest/test/abc123 это сработало! Таким образом, существует конфликт с «view.php» и «view /» .. так что в худшем случае я переименую view.php. Но я все равно хотел бы выяснить, что именно происходит неправильно.
Только что сделал это, и, к сожалению, это не сработало. – Aaron
Ahh, извините. Я не вижу в этом ничего плохого. –
Я отредактировал мой главный пост. Может, это может спровоцировать идею? – Aaron