Pregunta

Espero que no IIS personas me pueden ayudar en esto, sin embargo el problema que estoy teniendo está basado en un servidor que ejecuta IIS 6 ISAPI_Rewriter.

La situación es que estoy corriendo Wordpress en IIS6, ISAPI_Rewriter se utiliza para actuar como un reemplazo para el mod_rewrite y está funcionando correctamente. Mi problema es que cuando lo reciba para reescribir las URL de mi para Wordpress (por lo que no necesito el nombre del archivo index.php en ella) que muestra un 404. Después de mucho buscar encontré el problema se debía a que parte de la ASP.net ( o algo similar) estaba añadiendo eurl.axd / [cadena aleatoria] hasta el final de las direcciones URL y por lo que este estaba siendo alimentado en la solicitud Wordpress y romperlo. He establecido la plantilla de Wordpress para dar salida a la URL solicitada y se ve algo como esto:

http://www.example.com/index.php /about/eurl.axd/b552863f2d5e9841b5d8b79b44ac02e8/

Creo que esto es debido a la jerarquía de varias cosas en el sistema IIS y se requiere el culpable para ejecutar otra parte del proyecto. Yo prefiero seguir usando ISAPI_Rewriter a embellecer las direcciones URL así que me gustaría saber esto:

¿Hay alguna manera de conseguir mod_rewrite para eliminar eurl.axd / [cadena] antes de introducirla en el sistema?

Mi archivo .htaccess aparece actualmente como tal:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# The following line excludes folders from rewriting
RewriteCond %{REQUEST_URI} !^/folder-name/

RewriteRule ^/(.*)$ /$1 [NC,L]

Gracias por toda la ayuda, siempre es muy apreciada.


EDIT: he ajustado mi htaccess basado en sugerencias y parece que funciona bien en las pruebas breves que he llevado a cabo. Han publicado a continuación.

RewriteEngine on
RewriteBase /

# This is used to strip ASP.net eurl.axd bits
# from the URL so wordpress can use permalinks


# For the root
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/wp-admin/
RewriteRule ^eurl\.axd/[0-9a-f]+/$ index.php [NC,L]


# For internal permalinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/wp-admin/
RewriteRule ^(.*)/eurl\.axd/[0-9a-f]+/$ index.php/$1 [NC,L]
¿Fue útil?

Solución

Algo como esto cerca de la parte superior de su lista de reescrituras debería funcionar:

RewriteRule ^(.*)/eurl\.axd/[0-9a-f]+/$ /$1

Otros consejos

Yo uso la siguiente expresión regular como primero regla con Ionics Isapi Regrabadora para los sitios web que se ejecuta en ASP.NET 4 en IIS 6 para remediar los problemas causados ??por la cambio romper introdujo con ASP.NET 4:

RewriteRule ^(.*)/eurl.axd/[a-f0-9]{32}(.*)$ $1$2

Esto me dejó volver a utilizar las URL sin extensión.

Tenga en cuenta que el segundo grupo capturas de la cadena de consulta si está presente y restituye a la URL reescrito.

Y sí, es de una característica, no un error .

me encontré con un problema similar con v4.0 ASP.Net extensión menor función URL en II6 y encontró una solución a través del proveedor de ISAPI reescritura del módulo, el no requiere de apagarlo. Theissue y la solución ya que hemos tenido se documenta aquí http://www.vanadiumtech.com/OurBlog/post/2011/08/12/Cause-of-eurlaxd.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top