My solution is a new input form for every page, where you can change the URL/Filename different to the menulink.

I've done the following changes
inside the file /admin/pages/settings.php
approx. line 61
before:
// Get display name of person who last modified the page
$user=$admin->get_user_details($results_array['modified_by']);
after:
// Get display name of person who last modified the page
$user=$admin->get_user_details($results_array['modified_by']);
// Get Page Extension (Filename Suffix)
$database = new database();
$query = "SELECT * FROM ".TABLE_PREFIX."settings WHERE name = 'page_extension'";
$result = $database->query($query);
$result_array_extension = $result->fetchRow();
approx. line 82
before:
$template->set_var(array(
'PAGE_ID' => $results_array['page_id'],
'PAGE_TITLE' => ($results_array['page_title']),
'MENU_TITLE' => ($results_array['menu_title']),
'DESCRIPTION' => ($results_array['description']),
'KEYWORDS' => ($results_array['keywords']),
'MODIFIED_BY' => $user['display_name'],
'MODIFIED_BY_USERNAME' => $user['username'],
'MODIFIED_WHEN' => $modified_ts,
'ADMIN_URL' => ADMIN_URL
)
);
after:
$template->set_var(array(
'PAGE_ID' => $results_array['page_id'],
'PAGE_LINK' => ($results_array['link']),
'PAGE_EXTENSION' => ($result_array_extension['value']),
'PAGE_TITLE' => ($results_array['page_title']),
'MENU_TITLE' => ($results_array['menu_title']),
'DESCRIPTION' => ($results_array['description']),
'KEYWORDS' => ($results_array['keywords']),
'MODIFIED_BY' => $user['display_name'],
'MODIFIED_BY_USERNAME' => $user['username'],
'MODIFIED_WHEN' => $modified_ts,
'ADMIN_URL' => ADMIN_URL
)
);
inside the file /admin/pages/settings.html
approx. line 68 - 73
before:
<tr height="20">
<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
<td with="240" height="20">
<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
</td>
</tr>
after:
<tr height="20">
<td width="100" height="20">URL:</td>
<td with="240" height="20">
<input type="text" name="link" value="{PAGE_LINK}" style="width: 205px;" />{PAGE_EXTENSION}
</td>
</tr>
<tr height="20">
<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
<td with="240" height="20">
<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
</td>
</tr>
inside the file /admin/pages/settings2.php
approx. line 43
before:
// Get values
$page_title = $admin->add_slashes($admin->get_post('page_title'));
after:
// Get values
$page_link = $admin->add_slashes($admin->get_post('link'));
$page_title = $admin->add_slashes($admin->get_post('page_title'));
approx. line 115
before:
// Work-out what the link should be
if($parent == '0') {
$link = '/'.page_filename($menu_title);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).'.php';
} else {
$parent_section = '';
$parent_titles = array_reverse(get_parent_titles($parent));
foreach($parent_titles AS $parent_title) {
$parent_section .= page_filename($parent_title).'/';
}
if($parent_section == '/') { $parent_section = ''; }
$link = '/'.$parent_section.page_filename($menu_title);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($menu_title).'.php';
}
if($parent == '0') {
$link = '/'.page_filename($menu_title);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).'.php';
} else {
$parent_section = '';
$parent_titles = array_reverse(get_parent_titles($parent));
foreach($parent_titles AS $parent_title) {
$parent_section .= page_filename($parent_title).'/';
}
if($parent_section == '/') { $parent_section = ''; }
$link = '/'.$parent_section.page_filename($menu_title);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($menu_title).'.php';
}
after:
// Work-out what the link should be
if($parent == '0') {
if($page_link != '') {
$link = '/'.page_filename($page_link);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($page_link).'.php';
} else {
$link = '/'.page_filename($menu_title);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).'.php';
}
} else {
$parent_section = '';
$parent_titles = array_reverse(get_parent_titles($parent));
foreach($parent_titles AS $parent_title) {
$parent_section .= page_filename($parent_title).'/';
}
if($parent_section == '/') { $parent_section = ''; }
if($page_link != '') {
$link = '/'.$parent_section.page_filename($page_link);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($page_link).'.php';
} else {
$link = '/'.$parent_section.page_filename($menu_title);
$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($menu_title).'.php';
}
}
That is it
