As per #1463656-16: Add a Drupal kernel; leverage HttpFoundation and HttpKernel, the kernel branch changes non-clean URLs from to

This means:

  • It's time to remove all traces of 'q=' URL assumptions and references to $_GET['q'].
  • I think we can also get rid of 'clean_url' as a configuration variable, and simply make url() smart enough to add index.php if REQUEST_URI has it, and not add it if it doesn't.

Here's some initial work on it, rolled against the kernel branch. It's not complete yet (not all variable_get('clean_url') has been removed) so leaving at "needs work". Though if anyone wants to review the work so far, please do, and @Crell, if you want to commit it to the branch, go for it.

wscci-remove-q.patch71.08 KBeffulgentsia
Members fund testing for the Drupal project. Drupal Association Learn more


effulgentsia’s picture

Title: Remove all traces of old-style dirty URLs, $_GET['q'], and 'clean_url' as a configuration option » Remove all traces of old-style dirty URLs, $_GET['q'], and 'clean_url' variable
effulgentsia’s picture

Status: Needs work » Closed (won't fix)

Come to think of it, there's no reason for this to be coupled to the kernel branch. I should rebase this against core, and post it on #1183208: Remove variable_get('clean_url') and switch to index.php/path pattern for dirty URL support. That way, we can use testbot and have it reviewed by core devs not working on wscci. I'll do so when I next have a chance.

catch’s picture

Status: Closed (won't fix) » Needs work

This sounds like a good plan to me, if we can remove the variable that'd be great.

I have a very old site that was migrated from an even older site that has one path alias (I thought it was more, but it looks like only one now) with index.php in the alias to match the old CMS. The same could be true for redirects. However I don't think there's a problem requiring clean urls to make that work, it just flashed through my mind briefly but I let's forget it was ever mentioned.

effulgentsia’s picture