2009-11-22 25 views
6

Moveré un blog de WordPress de Apache a IIS. Es solo por un par de semanas hasta que lo cambie. Pero todo lo que puedo llegar es la página de inicio. Todo lo demás arroja errores.¿Alternativa al archivo .htaccess de Apache para IIS?

Creo que mi problema es en el archivo .htaccess:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
#END WordPress 

¿Hay algo equivalente a esto para IIS?

Gracias.

+2

¿Está utilizando IIS o Apache en Windows? –

+0

Además, ¿qué tipo de error arroja? –

+0

Usando IIS. El error: si hago clic en un enlace que tiene un subdirectorio, como mysite.com/news, aparece un error 404. Si agrego /index.php en la barra de direcciones, no obtengo ningún archivo de entrada especificado. – user80151

Respuesta

2

"Pretty" permalinks usually require mod_rewrite, and IIS (common on Windows servers) does not support mod_rewrite.

Comprobar Wordpress Codex, específicamente Permalinks Without Mod Rewrite sección ya que tiene información sobre los enlaces permanentes en su entorno (algo de información a continuación, comprobar el enlace para obtener información completa, ya que es la documentación oficial):

If you are using IIS 7 and have admin rights on your server, you can use Microsoft's URL Rewrite Module instead. Though not completely compatible with mod_rewrite, it does support WordPress's pretty permalinks. Once installed, open the web.config file in the WordPress folder and add the following rule to the system.webServer element.

<rewrite> 
    <rules> 
     <rule name="Main Rule" stopProcessing="true"> 
      <match url=".*" /> 
      <conditions logicalGrouping="MatchAll"> 
       <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
      </conditions> 
      <action type="Rewrite" url="index.php" /> 
     </rule> 
    </rules> 
</rewrite> 
0

Hizo una nueva instalación de WordPress y luego importó selectivamente las tablas.

El problema eran los permanentes, por supuesto. Pero encontré que la forma más fácil de solucionarlo era utilizar la misma estructura que los enlaces permanentes del antiguo sitio (afortunadamente no se ha eliminado todavía para poder encontrarlo en el administrador) y luego importar todo excepto las tablas de usuarios.

Si importa las tablas de usuario, perderá el inicio de sesión de administrador desde la nueva configuración.

1

"Pretty" permalinks usually require mod_rewrite, and IIS (common on Windows servers) does not support mod_rewrite.

si se está utilizando IIS 6 o 7, también se puede utilizar un motor de reescritura en IIS - muchos de ellos soportan la sintaxis mod_rewrite.
IIRF es bueno, funciona tanto con IIS6 como con 7. (Vista, WS2003, 2008).

10

creo que puedes encontrar la respuesta aquí - How To Set Pretty Permalinks in Wordpress Runs On IIS 7 Creo que se necesita para poner un archivo web.config en la carpeta raíz como:

<?xml version="1.0"?> 
<configuration> 
<system.webServer> 
<defaultDocument> 
    <files> 
    <remove value="index.php" /> 
    <add value="index.php" /> 
    </files> 
</defaultDocument> 
<rewrite> 
<rules> 
    <rule name="Main Rule" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions logicalGrouping="MatchAll"> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="index.php/{R:0}" /> 
    </rule> 
</rules> 
</rewrite> 
</system.webServer> 
</configuration> 
Cuestiones relacionadas