Replace Space in DNN Friendly URLs - dotnetnuke

I'm working on a site running DNN 7, and I'm trying to format my URLs. In my web.config file I changed the format to HumanFriendly URLs like so:
<add name="iFinity.FriendlyUrl" type="iFinity.DNN.Modules.FriendlyUrl.DNNFriendlyUrlProvider,
iFinity.FriendlyUrlProvider" includePageName="true" regexMatch="[^\+a-zA-Z0-9 _-]"
urlFormat="HumanFriendly" redirectUnfriendly="true" doNotRedirect="SearchResults;"
checkForDupUrls="true" forceLowerCase="true" redirectWrongCase="false" replaceSpaceWith="-"
logCacheMessages="false" pageExtensionUsage="never" />
The rewrite is working fine, except one problem. On pages that have a space, for example we have a page titled, "Who We Are" I want the URL to be who-we-are, and the URL is generating as whoweare. What do I need to add in order to change that? I've been digging all morning and can't find anything about it.
Thank you in advance for any help, it's much appreciated!

The iFinity Friendly URL functionality has been merged into the DNN core and is no longer updated.
http://www.ifinity.com.au/2013/07/22/DNN_71_and_Url_Master
The above post explains how to transition to the new provider.
I uninstalled the iFinity controll, and then used instructions from this page to change the space character:
http://www.christoc.com/Tutorials/All-Tutorials/aid/6

Related

Office Add-ins Caching my HTML file

For god knows what reason, Office Add-ins on my local word client is Caching a html file that I dynamically load in (through angular) and refuses to give me a way to remove it from the cache. My only solution is to rename the file and force it to look for a new one.
I know it's a caching issue and not a code issue because when I load the app up inside the web-client it always gets the new version and not the old version.
Please help, renaming files every time I change them is stupid and time consuming
I had the same, not with Angular but JS add office add ins, cut off my webserver and still was able to load the HTML!
For me what worked was the "Clear" button under Trust Centre -> Trusted Add-in catalogues.
Perhaps this is HTML5 - something to do with you manifest, something like this in your HTML, or the equivalent automatically occurring?
`<html.... manifest="/manifest.appcache">
There are loads of suggestion for how to prevent this I haven't tried it yet, but this looks like it contains reasonable examples to test - if imparted in an unusual manner!
http://alistapart.com/article/application-cache-is-a-douchebag
Second option which is now working a treat for me!
In internet Explorer go to Internet Options -> General tab -> Settings -> Temporary Internet files -> tick "Every time I visit the webpage". Naturally this only works for locally hosted sideloading apps.
Oddly enough IE seems to be the object loaded in Office 2016, not Edge, although I have had an Edge message appear in my side-load space, I'll try and grab a shot of it next time I see it (it was during an error it appeared!).
There are a few tricks that might work like this:
What does appending "?v=1" to CSS and Javascript URLs in link and script tags do?
Or in CSS like this:
https://css-tricks.com/can-we-prevent-css-caching/
Today (Win 10 1903 and newest Office 2016) Office AddIns are using Edge as WebViewHost. The WebViewHost seems to store the cached files here:
dir /s %LOCALAPPDATA%\Packages\Microsoft.Win32WebViewHost_cw5n1h2txyewy\AC\#!123\INetCache\
In our case we are using Azure App Service (IIS) as backend for our Office AddIn.
And we added the following web.config setting to let the client re-validate all cached files on each access:
...
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="0.00:00:00" cacheControlCustom="must-revalidate" />
</staticContent>
...
Of course, the cacheControlMaxAge may be adjusted to your needs.
Hitting Ctrl + Shift + F5 helped for me.
An easy workaround for this would be to append some random query string at the end of the url, thus making sure your browser has a cache miss.
For example, instead of getting the file http://myaddin/myfile.html, append a big enough random query string parameter so that you instead query for http://myaddin/myfile.html?cache=s98sj398nf03984jf3498n.

Request.InputStream empty

A number of years ago I wrote a .aspx page that handled a HTTP POST Request which contained a piece of xml. The code read the xml using Request.InputStream - it worked fine for years until The DNN site that it was running in was updated to 5.6.8 now Request.InputStream is always empty. Note that the page is completely separate to DNN but located in site.com/Special/tlweb.aspx .
I've tested the same page on the same server using .net 4 but with a different IIS site and it works fine. Since another app POSTS data to the current URL I need to get it working in the existing location - changing the app is not an option.
I kind of think something was done in DNN 5.6.8 that was intended to stop cross site scripting attacks but I'm really having trouble figuring out what changed and what I can do to ensure that the specific page runs as it did previously.
Can anyone make any suggestions please?
Thanks
Josh

Edit content at URL in Drupal 7

I'm a complete COMPLETE noob at Drupal.
I've been handed a large very customized Drupal 7 site after our admin quit. I have tons of WP experience, but zilch in Drupal.
I've been asked to edit a page that exists at:
http://my.drupalsite.com/[page]
The page functions only to redirect to:
http://my.othersite.com/
But, I need to change part of the way it redirects. Normally (as in, the one other time I did it) to edit a Drupal page, I just go to the page logged in as an admin and click "edit". Since this is a redirect page, I can't really do this. The /admin/content section has 83 pages of 25 items each with no way for me to search on anything and no way to tell from what the guy called the page as to what page actually does this redirect. I'll be a monkey's uncle if I'm going to click on every darn one of them and then click the "URL path settings" tab at the bottom to see which one of these suckers is the page I'm after.
Surely this is simple for even a typical Drupal novice... like I said though, complete noob.
Any ideas? Thanks!
There are a few modules that can handle redirection or even simple editing of a path.
You can look at pathauto
https://drupal.org/project/pathauto
On that page you should find other recommendations such as the Global Redirect & Redirect modules. I'm pretty sure some of these modules will simplify your task. You should be able to take an existing path and redirect it to wherever you wish, without having to dig in each URL alias on the node edit page.
It's always difficult to give specific advice without knowing more, but , for instance, Pathauto can help you change the path of a specific content type to a specific pattern. That can come very handy if you need to change a bunch of pages with a similar structure.

Asp.net / Dot Net Nuke rewrite url

i'm using dot net nuke
and i need to rewrite my website urls
for example: from products.aspx to products-computers/home.aspx
I've tried modifying siteurls.config using this rule
<LookFor>.*/products.aspx</LookFor> <SendTo>~/products-computers/home.aspx</SendTo>
it doesn't work.
Please help!
If you are trying to change the URLs of your website, you will need to use a tool like URLMaster from Ifinity to get the ultimate flexibility
What you are doing with the siteurls.config appears to be is define that if someone requests /products.aspx that instead of loading a page called products.aspx, they load a page with a path (defined in DNN) as /products-computers/home.aspx
That means that you need to have a parent page called Products-Computers and a child page under there called Home.
I used to edit siteurls.config and it worked for me - you should be careful with syntax though. What I don't like re siteurls.config is that you're ending up on right page but with wrong address in address bar of the browser. So my preference is this solution that I investigated & tested personally and it was confirmed by stackoverflow community member as well:
redirecting old site pages to single page on dnn portal

how to remove sitemap.aspx in dnn6

i need to remove sitemap.aspx from the site.
In dnn 6,there is a sitemap.aspx page that simply shows an xml sitemap.i cannot edit/remove that file.so i need to remove that page and recreate it with a simple html sitemap.
NOTE:the page name should be sitemap.aspx
Sitemap.aspx isn't a physical page you can delete.
You can, however, rename it to something else. It's in your web.config file, under the 'handlers' section. Just look for sitemap.aspx, and change it to something else, like 'searchenginesitemap.aspx'. Don't forget to update your robots.txt file to point to the new sitemap name, or go to the various webmaster console pages in search engines and advise them of the new location.
The sitemap.aspx is used to create the xml sitemap for search engines. By changing this you break this functionality and limit the search-ability of your site.
That being said, in Host Settings->Advance Settings you could setup a new Friendly Url that would match .*/sitemap.aspx to another url/page on your site.
I have long stopped using DNN's native sitemap.aspx... ITS BUGGY!... and here is how i found out.
I generated my own "CLEAN" sitemap.xml using a free 3rd party tool. And uploaded it to the root of my DNN website.... re-submitted the the domainname.com/sitemap.xml to Google via web master tools and as a result we now get a 1ST PAGE and TOP 10 RANKING.
Mostly in the top 5... where as before using DNN's native sitemap.aspx we would get random errors which was pretty ANNOYING. Plus we got very bad Google Page Rank, But those were just my findings of better results. Note:I also place the location of the sitemap within the robots.txt file...
Although i will admit that it is extremely ANNOYING that you cannot just edit the DNN Sitemap url. This creates an issue if you've built the the site on a test server and then migrate over to production... your DNN Sitemap url only reads the firs portal alias from when you first developed the site.
Anyway, this was my findings... others may vary... just sharing.

Resources